Per leggere il tipo di dato che abbiamo si usa la sintassi var_dump();
var_dump($x);
- Stringhe
- Numeri
- Array
Stringhe
$nome = "Mario";
$cognome = "Rossi";
Per concatenare le stringhe si usa il punto
$nome . " " . $cognome;
Conteggi nelle stringhe
Per leggere la lunghezza delle stringhe
strlen($nome);
O per conteggiare le parole
str_word_count($stringa);
Maiuscole e minuscole
Stringa in minuscolo
strtolower($nome);
Stringa in maiuscolo
strtoupper($nome);
Per rimuovere gli spazi ad inizio e fine della stringa. Utile nei form dove capita spesso di avere degli inserimenti di spazi dopo i caratteri.
trim($stringa);
Rovesciare le stringhe
strrev($nome);
Cercare una parola in una stringa. ATTENZIONE! è case sensitive!
strpos($stringa, 'dolor');
Prendere un pezzo di stringa. Si inserisce la stringa, la posizione di partenza ed opzionalmente il numero di caratteri da recuperare.
substr($stringa, 12);
substr($stringa, 12, 3);
Inserire parole. Prima si inserisce la vecchia parola da cambiare, poi quella da inserire e successivamente la stringa che si andrà a modificare.
str_replace('vecchia', 'nuova', $stringa);
Numeri
$operatore1 = 3;
$operatore2 = 5.10;
$operatore3 = "10";
Per capire se l’operatore è un intero, flot:
var_dump(is_int($operatore));
var_dump(is_float($operatore));
Somma
$operatore1 + $operatore2
8.1
$operatore1 + $operatore3
13
Non è una concatenazione, ma legge comunque un numero se nella stringa c’è solo un numero.
Casting
int($operatore3);
float($operatore1);
Per togliere il valore negativo ed avere un valore assoluto:
$operatoreneg = -3;
abs($operatoreneg);
3
Minore e Maggiore
min(0, 56, 23, 100);
max(0, 56, 23, 100);
0
100
Operazioni numeriche automatiche
sqrt(25);
5
round(0,51);
1
Per avere un numero random, si inserisce il numero di partenza e il numero di fine, compresi.
rand(0,10);
Operatori matematici
+ – * / %(modulo) **(elevazione alla potenza, 2 alla 5)
2 ** 5
Operatori di assegnazione
+= -= /= *=
Incremento e decremento
++ —
$operatore1++
Array
Una collezione di elementi, si parte a contare da zero.
$citta = ['Milano', 'Torino', 'Roma'];
echo $citta[2];
$citta[2] = 'Venezia';
echo $citta[2];
Roma
Venezia
for($i=0; $i < count($citta); $i++) {
echo $citta[$i] . " ";
}
Milano Torino Roma
Array associativi
Possone essere utilizzate chiavi o numeri.
$persona = [
"nome" => "Luca",
"cognome" => "Rossi",
"eta" => 25
]
$persona["nome"];
Luca
foreach($persona as $chiave => $valore){
echo $chiave . "=>" . $valore . "<br>";
}
nome => Luca
cognome => Rossi
eta => 25
Array multidimensionali
Sono array che contengono altri array. Bidimensionali sono array che contengono altri array [[],[]] Tridimensionali sono array che contengono array con altri array[ [[],[]] , [[],[]] ]. Possono contenere anche array associativi.
Possono essere colonne di una tabella, o rappresentare come in questo caso delle classi di alunni.
$classi = [
["Luca", "Marco", "Anna"],
["Leonardo", "Paola", "Mattia"]
];
echo $classi[0][2];
Anna
for($classe=0; $classe < count($classi); $classe++){
echo "Classe: " . $classe . "<br>";
for($alunno=0; $alunno < count($classi[$classe]); $alunno++){
echo $classi[$classe][$alunno] . "<br>";
};
};
Classe: 0
Luca
Marco
Anna
Classe: 1
Leonardo
Paola
Mattia
Riordinare gli array
sort($citta); //riordina in ordine alfabetico
pront_r($citta); //per stampare
Array ( [0] => Milano [1] => Roma [2] => Torino )
rsort($citta); //riordina in ordine alfabetico
pront_r($citta); //per stampare
Array ( [0] => Torino [1] => Roma [2] => Milano )
Invece per gli array associativi:
ksort($persona);
print_r($persona);
echo "<br>";
krsort($persona);
print_r($persona);
echo "<br>";
asort($persona);
print_r($persona);
echo "<br>";
arsort($persona);
print_r($persona);
Array ( [cognome] => Rossi [eta] => 25 [nome] => Luca )
Array ( [nome] => Luca [eta] => 25 [cognome] => Rossi )
Array ( [eta] => 25 [nome] => Luca [cognome] => Rossi )
Array ( [cognome] => Rossi [nome] => Luca [eta] => 25 )
Modificare gli array
$citta = ['Milano', 'Torino', 'Roma'];
array_push($citta, 'Napoli');
print_r($citta);
Array ( [0] => Milano [1] => Torino [2] => Roma [3] => Napoli )
array_pop($citta); //toglie l'ultimo elemento
print_r($citta);
Array ( [0] => Milano [1] => Torino [2] => Roma )
array_unshift($citta); //aggiunge un elemento davanti
print_r($citta);
Array ( [0] => Napoli [1] => Milano [2] => Torino [3] => Roma )
array_shift($citta); //aggiunge un elemento davanti
print_r($citta);
Array ( [0] => Torino [1] => Roma )