array_change_key_case
La funzione array_change_key_case($nome_array, CASE_LOWER / CASE_UPPER) serve per trasformare in maiuscolo o minuscolo le chiavi dell'array passato come parametro.
<?php
$parenti = array("MArcEllO"=>"zio", "luIGi"=>"cugino", "pATriZia"=>"cugina");
print_r(array_change_key_case($parenti, CASE_UPPER));
$compagni = array("fRAncESco"=>"elementari", "AleSSIO"=>"medie", "marCO"=>"superiori");
print_r(array_change_key_case($compagni, CASE_LOWER));
?>
array_chunk
La funzione array_chunk($nome_array, numero-elementi, true/false) serve per dividere un array (primo parametro) in più parti di un certo numero di elementi (secondo parametro) mantenendo le stesse chiavi dell'array originale (terzo parametro true) o generando nuove chiavi (terzo parametro false).
Il terzo parametro, se omesso, è uguale a false. I nuovi array sono contenuti dentro al primo che quindi diventa a due dimensioni. Nel caso in cui il numero di elementi dell'array di partenza non sia sufficiente per generare array della stessa grandezza l'ultimo sarà di dimensione inferiore.
<?php
$gatti = array("siamese", "persiano", "certosino", "soriano", "abissino");
print_r(array_chunk($gatti, 3));
echo "<br>";
$cani = array("bianco" => "maremmano" , "nero" => "doberman", "macchie" => "dalmata", "marrone" => "bassotto", "rosso" => "volpino");
print_r(array_chunk($cani, 2, true));
?>
array_column
La funzione array_column($nome_array, 'nome_colonna') serve per creare un array a partire da un array multidimensionale. Il nuovo array avrà le chiavi generate automaticamente (0, 1, 2, ecc...) e i valori saranno quelli della colonna specificata come secondo parametro.
Eventualmente come terzo parametro si può indicare un'altra colonna dell'array che sarà utilizzata per generare le chiavi.
<?php
$cannonieri = array(
array(
'goals' => 22,
'nome' => 'Icardi',
'squadra' => 'Inter'
),
array(
'goals' => 21,
'nome' => 'Toni',
'squadra' => 'Verona'
),
array(
'goals' => 20,
'nome' => 'Tevez',
'squadra' => 'Juve'
)
);
$squadre = array_column($cannonieri, 'squadra');
print_r($squadre);
echo "<br>";
$goals = array_column($cannonieri, 'squadra', 'goals');
print_r($goals);
?>
array_combine
La funzione array_combine($primo_array, $secondo_array) serve per creare un array combinandone due: i valori di $primo_array saranno le chiavi del nuovo array e i valori di $secondo_array saranno i valori.
<?php
$campi = array("nome", "cognome", "anni", "citta");
$valori = array("Mario", "Rossi", 20, "Torino");
$form = array_combine($campi, $valori);
print_r($form);
?>
array_count_values
La funzione array_count_values($nome_array) serve per contare quante volte un certo valore compare nell'array passato come parametro.
<?php
$spesa=array("pane","pasta","latte","uova","pane", "pasta", "acqua", "sale", "zucchero", "pasta", "uova");
print_r(array_count_values($spesa));
?>
array_diff_assoc
La funzione array_diff_assoc($primo_array, $secondo_array) serve per confrontare due o più array e vedere se ci sono delle coppie chiave-valore nel primo che non compaiono negli altri. Le coppie chiave-valore che compaiono solo nel primo degli array passati come parametri andranno a formare un nuovo array. Nell'esempio i valori del secondo array compaiono anche nel primo ma con chiave diversa quindi nel nuovo array saranno comprese tutte le coppie chiave-valore del primo.
<?php
$lista = array("pane", "pasta", "latte", "sale", "zucchero", "yogurt", "tonno");
$scontrino = array("latte", "pane", "zucchero", "yogurt");
$mercato = array_diff_assoc($lista, $scontrino);
print_r($mercato);
?>
array_diff_key
La funzione array_diff_key($primo_array, $secondo_array) serve per confrontare le chiavi di due o più array e vedere se ci sono delle chiavi nel primo che non compaiono negli altri. Le chiavi che compaiono solo nel primo degli array passati come parametri andranno a formare un nuovo array che manterrà i valori assegnate a quelle chiavi. Le chiavi che compaiono solo negli altri ma non nel primo non vengono considerate.
<?php
$primo_appello = array("analisi" => "12 settembre", "statistica" => "20 novembre", "matematica" => "10 gennaio");
$secondo_appello = array("analisi" => "20 ottobre", "statistica" => "18 dicembre", "finanza" => "15 gennaio");
$ultima_possibilita = (array_diff_key($primo_appello, $secondo_appello));
print_r($ultima_possibilita);
?>
array_diff_uassoc
La funzione array_diff_uassoc($primo_array, $secondo_array, "nome_funzione") serve per confrontare due o più array e vedere se ci sono delle coppie chiave-valore nel primo che non compaiono negli altri. Le coppie chiave-valore che compaiono solo nel primo degli array passati come parametri andranno a formare un nuovo array. Il confronto fra le chiavi viene fatto attraverso la funzione passata come terzo parametro.
Questa funzione ha senso usarla quando le chiavi sono delle stringhe perchè il controllo che viene fatto attraverso la funzione ha esito positivo solo se le due chiavi sono identiche (===). Nell'esempio i valori del secondo array compaiono anche nel primo con chiave non identica ("zero" è considerato uguale a 0 ma non identico) quindi nel nuovo array saranno comprese tutte le coppie chiave-valore del primo.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt");
//la funzione confrontochiavi confronta due chiavi, se esse sono identiche ritorna 0,
//se la prima è maggiore della seconda ritorna 1, se la prima è minore della seconda ritorna -1
function confrontochiavi($a,$b){
if($a===$b) {
return 0;
}
else {
return($a>$b) ? 1 : -1;
}
}
$mercato = array_diff_uassoc($lista, $scontrino, "confrontochiavi");
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>
array_diff_ukey
La funzione array_diff_ukey($primo_array, $secondo_array, "nome_funzione") serve per confrontare due o più array e vedere se ci sono delle chiavi nel primo che non compaiono negli altri. Le chiavi che compaiono solo nel primo degli array passati come parametri andranno a formare un nuovo array. Il confronto fra le chiavi viene fatto attraverso la funzione passata come terzo parametro.
I valori associati alla chiave in questo caso non vengono considerati.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt");
//la funzione confrontochiavi confronta due chiavi, se esse sono identiche ritorna 0,
//se la prima è maggiore della seconda ritorna 1, se la prima è minore della seconda ritorna -1
function confrontochiavi($a,$b){
if($a===$b) {
return 0;
}
else {
return($a>$b) ? 1 : -1;
}
}
$mercato = array_diff_ukey($lista, $scontrino, "confrontochiavi");
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>
array_diff
La funzione array_diff($primo_array, $secondo_array) serve per confrontare i valori di due o più array e vedere se ci sono dei valori nel primo che non compaiono negli altri. I valori che compaiono solo nel primo degli array passati come parametri andranno a formare un nuovo array che manterrà le chiavi assegnate a quei valori. Le chiavi non vengono considerate per il confronto.
<?php
$giocati = array(10, 45, 78, 39, 56, 33);
$estratti = array(39, 10, 45, 64, 81, 27);
$nonusciti = array_diff($giocati, $estratti);
print_r($nonusciti);
?>
array_fill_keys
La funzione array_fill_keys($array_chiavi, valore) serve per creare un array le cui chiavi sono i valori dell'array passato come primo parametro e i cui valori sono definiti dal secondo parametro.
<?php
$chiavi = array("hello", "hi", "bonjour", "hola");
$saluti = array_fill_keys($chiavi, "ciao");
print_r($saluti);
?>
array_fill
La funzione array_fill(chiave iniziale, numero elementi, valore) serve per creare un array le cui chiavi partono dal valore definito dal primo parametro, il cui numero di elementi è definito dal secondo parametro e i cui valori sono definiti dal terzo parametro.
<?php
$saluti = array_fill(3, 5, "ciao!");
print_r($saluti);
?>
array_filter
La funzione array_filter($nome_array, "nome_funzione") serve per filtrare i valori dell'array passato come primo parametro attraverso la funzione passata come secondo parametro. I valori che superano il filtro andranno a comporre un nuovo array mantenendo la propria chiave.
<?php
$votazioni = array('Pino' => 9, 'Gino' => 4, 'Lino' => 7, 'Nino' => 3, 'Mino' => 8, 'Dino' => 5);
function promosso($votazione) {
return($votazione > 6);
}
$promossi = array_filter($votazioni, "promosso");
print_r($promossi);
?>
array_flip
La funzione array_flip($nome_array) serve per scambiare le chiavi con i valori di un array.
<?php
$numeri_cifre = array("uno" => 1, "due" => 2, "tre" => 3, "quattro" => 4, "cinque" => 5);
$numeri_lettere = array_flip($numeri_cifre);
print_r($numeri_lettere);
?>
array_intersect_assoc
La funzione array_intersect_assoc($primo_array, $secondo_array) serve per confrontare due o più array e vedere se ci sono delle coppie chiave-valore che compaiono in entrambi. Le coppie chiave-valore che compaiono in tutti gli array passati come parametri andranno a formare un nuovo array. Nell'esempio i valori del secondo array compaiono anche nel primo ma con chiave diversa quindi il nuovo array risulterà vuoto.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt");
$mercato = array_intersect_assoc($lista, $scontrino);
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>
array_intersect_key
La funzione array_intersect_key($primo_array, $secondo_array) serve per creare un array le cui chiavi sono le chiavi presenti in entrambi gli array, indipendentemente dai loro valori, e i cui valori sono quelli indicati nel primo array.
array_intersect_uassoc
La funzione array_intersect_uassoc($primo_array, $secondo_array, "nome_funzione") serve per confrontare due o più array e vedere se ci sono delle coppie chiave-valore nel primo che compaiono anche negli altri. Le coppie chiave-valore che compaiono in entrambi gli array passati come parametri andranno a formare un nuovo array. Il confronto fra le chiavi viene fatto attraverso la funzione passata come terzo parametro.
Nell'esempio il nuovo array è vuoto perchè la funzione che controlla le chiavi è case-sensitive quindi la chiave 'tre' è diversa da 'TRE'.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt", 'TRE' => "tonno");
$mercato = array_intersect_uassoc($lista, $scontrino, "strcmp");
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>
array_intersect_ukey
La funzione array_intersect_ukey($primo_array, $secondo_array, "nome_funzione") serve per confrontare due o più array e vedere se ci sono delle chiavi nel primo che compaiono anche negli altri. Le chiavi che compaiono in tutti gli array passati come parametri andranno a formare un nuovo array. Il confronto fra le chiavi viene fatto attraverso la funzione passata come terzo parametro.
I valori associati alla chiave sono quelli del primo array.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt", 'TRE' => "tonno");
$mercato = array_intersect_ukey($lista, $scontrino, "strcmp");
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>
array_intersect
La funzione array_intersect($primo_array, $secondo_array) serve per creare un array i cui valori sono i valori presenti in entrambi gli array, indipendentemente dalle loro chiavi, e le cui chiavi sono quelle indicate nel primo array.
<?php
$lista = array('zero' => "pane", "pasta", 'uno' => "latte", "sale", 'due' => "zucchero", "yogurt", 'tre' => "tonno");
$scontrino = array("pane", 'zero' => "pasta", 'uno' => "zucchero", 2 => "sale", "yogurt");
$mercato = array_intersect($lista, $scontrino);
echo "<p>Array \$lista:</p><br>";
print_r($lista);
echo "<br><p>Array \$scontrino:</p><br>";
print_r($scontrino);
echo "<br><p>Array \$mercato:</p><br>";
print_r($mercato);
?>