LORETTA B. nel-web forum

Linguaggi di programmazione => Php e MySql (data base) => Topic aperto da: micdas - Gennaio 20, 2009, 11:07:51

Titolo: le variabili e le matrici
Inserito da: micdas - Gennaio 20, 2009, 11:07:51
Prima di addentrarci in discussioni più tecniche è bene parlare di un elemento indispensabile nella programmazione, e cioè delle variabili.

In PHP le variabili sono contraddistinti dal simbolo $ che precede il nome della variabile:
Il nome della variabile deve iniziare necessariamente con un carattere alfabetico e può contenere dopo questo primo carattere: un carattere numerico,  un underscore ( _ ): $pippo, $a12_ax, $a, $Pluto1, $Pluto2
E' sensibile alle maiuscole e minuscole per cui $Pippo è diverso da $pippo

Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$a 
"Ciao";
$A "pippo";
?>

Le variabili le possiamo in seguito elaborare o stamparle a video:

Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$a 
"Ciao";
$A "pippo";
echo 
$a;    // stampo la prima variabile
echo $A;    // stampo la seconda variabile
?>

Otterremo: Ciaopippo

Le variabili possono essere passate ad un'altra variabile e concatenate, ossia metterle una di seguito all'altra. Per concatenare più variabili occorre che queste siano separate da un punto ( . )
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$a 
"Ciao";
$A "pippo";
$b $a $A;
echo 
$b;
?>
Oppure
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$a 
"Ciao";
$A "pippo";
echo 
$a $A;
?>

Anche qui l'uotput sarà questo: Ciaopippo
Tra le variabili possiamo anche inserire delle costanti (ossia delle stringhe pure, senza che queste siano assegnate a variabili).
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$a 
"Ciao";
$A "pippo";
echo 
$a " " $A;
?>
con questo otteniamo: Ciao pippo

____________________________________________________________________________________________________

Se abbiamo a che fare con numerose variabili dello stesso tipo possiamo aggregarle tra loro usando le matrici.
Una matrice raccoglie (memorizza) numerosi valori abbinandoli a degli indici.
Questi sono due tra le svariate modalità con cui memorizziamo dei dati in una matrice:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$nazioni 
= array("Italia""Svizzera""Germania""Francia""Olanda");

$continenti[] = "Europa";
$continenti[] = "Africa";
$continenti[] = "America";
$continenti[] = "Asia";
?>

Ed ora alcuni dei modi per leggere le matrici.
Usando il ciclo FOR:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$nazioni 
= array("Italia""Svizzera""Germania""Francia""Olanda");

$continenti[] = "Europa";
$continenti[] = "Africa";
$continenti[] = "America";
$continenti[] = "Asia";

for (
$a=0$a<count($nazioni); $a++){
echo 
$nazioni[$a] . "<br>";
}
echo 
"<br />";
$num_rec count($continenti);
for (
$a=0$a<$num_rec$a++){
echo 
$continenti[$a] . "<br>";
}
?>

Questi due cicli sortiscono questi due  elenchi:
Italia
Svizzera
Germania
Francia
Olanda

Europa
Africa
America
Asia

Usando il ciclo foreach:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$nazioni 
= array("Italia""Svizzera""Germania""Francia""Olanda");

$continenti[] = "Europa";
$continenti[] = "Africa";
$continenti[] = "America";
$continenti[] = "Asia";

foreach (
$nazioni as $valore) {
echo 
$valore ."<br />";

echo 
"<br />";
foreach (
$continenti as $valore) {
echo 
$valore ."<br />";

?>

Anche con questo otteniamo lo stesso output.

Altro modo interessante di leggere una matrice è quello di leggere anche gli indici abbinati ai vari valori.
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
$nazioni 
= array("Italia""Svizzera""Germania""Francia""Olanda");

$continenti[] = "Europa";
$continenti[] = "Africa";
$continenti[] = "America";
$continenti[] = "Asia";

foreach ( 
$nazioni as $chiave => $valore) {
echo 
$chiave "--" $valore "<br />";
}
echo 
"<br />";
foreach ( 
$continenti as $chiave => $valore) {
echo 
$chiave "--" $valore "<br />";
}
?>

L'output di questo codice è il seguente che mostra sia gli indici che i valori:
0--Italia
1--Svizzera
2--Germania
3--Francia
4--Olanda

0--Europa
1--Africa
2--America
3--Asia

Ci fermiamo qui per non appesantire troppo l'argomento che deve essere assimilato con molta calma per non fare confusione. Però il discorso va approfondito e ritorneremo sull'argomento.