array_key_exists

La funzione array_key_exists(chiave, $nome-array) serve per controllare se la chiave indicata nel primo parametro esiste nell'array. Se esiste la funzione restituisce true.

<?php
$voti_classe = array(7 => "Andrea", 9 => "Angelo", 10 => "Guido", 9 => "Antonio");
if (array_key_exists(10, $voti_classe)) {
    echo "L'alunno ".$voti_classe[10]." ha preso il voto massimo";
    }
?> 

array_keys

La funzione array_keys($nome_array) serve per creare un nuovo array le cui chiavi sono generate automaticamente e i cui valori sono le chiavi dell'array passato come parametro. E' anche possibile specificare un secondo parametro che definisce il valore di cui vogliamo trovare la chiave.

<?php 
$canali = array(29 => "RaiUno", 46 => "RaiDue", 51 => "RaiTre", 34 => "ReteQuattro", 22 => "CanaleCinque", 60 => "ItaliaUno");
$uhf = array_keys($canali);
print_r($uhf);
echo "<br>";
$uhf = array_keys($canali, "CanaleCinque");
print_r($uhf);
?>

array_map

La funzione array_map("nome_funzione", $nome_array) serve per applicare la funzione indicata come primo parametro a tutti i valori dell'array indicato come secondo parametro. In alcuni casi è utile usare questa funzione al posto di un ciclo foreach.

<?php 
$date = array("19-05-1982", "31-12-1976", "22-08-1979", "01-10-2006");
function convertidata($nome_array) {
	$convertito = explode("-", $nome_array);
	return $convertito;
}
$gg_mm_aaa = array_map("convertidata", $date);
print_r($gg_mm_aaa);
?>

array_merge_recursive

La funzione array_merge_recursive($primo_array, $secondo_array) serve per aggiungere le coppie chiave-valore dell'array passato come secondo parametro al primo. Viene creato un nuovo array le cui chiavi sono generate automaticamente se gli array di partenza hanno chiavi numeriche. Se invece hanno chiavi stringa e due elementi hanno la stessa chiave allora questi vanno a formare un array a se stante all'interno del primo.

<?php 
$primo_turno = array(19 => "Anna Bessonova", 17 => "Dina Averina", 18 => "Margarita Mamun");
$secondo_turno = array(19 => "Elisa Santoni", 16 => "Romina Laurito", 17 => "Fabrizia D\'Ottavio");
$ginnaste = array_merge_recursive($primo_turno, $secondo_turno);
print_r($ginnaste);
echo "<br>";
echo "<br>";
echo "<br>";
$primo_turno = array('nastro' => "Anna Bessonova", 'palla' => "Dina Averina", 'clavette' => "Margarita Mamun");
$secondo_turno = array('nastro' => "Elisa Santoni", 'cerchio' => "Romina Laurito", 'fune' => "Fabrizia D\'Ottavio");
$ginnaste = array_merge_recursive($primo_turno, $secondo_turno);
print_r($ginnaste);
?>

array_merge

La funzione array_merge($primo_array, $secondo_array) serve per aggiungere le coppie chiave-valore dell'array passato come secondo parametro al primo. Viene creato un nuovo array le cui chiavi sono generate automaticamente se gli array di partenza hanno chiavi numeriche. Se invece hanno chiavi stringa e due elementi hanno la stessa chiave allora la coppia chiave-valore del secondo array sovrascrive quella del primo.

In alternativa è possibile anche concatenare gli array usando l'operatore + ma in questo caso sarà la coppia chiave-valore del primo array a sovrascrivere quella del secondo.

<?php 
$primo_turno = array(19 => "Anna Bessonova", 17 => "Dina Averina", 18 => "Margarita Mamun");
$secondo_turno = array(19 => "Elisa Santoni", 16 => "Romina Laurito", 17 => "Fabrizia D\'Ottavio");
$ginnaste = array_merge($primo_turno, $secondo_turno);
print_r($ginnaste);
echo "<br>";
echo "<br>";

$primo_turno = array('nastro' => "Anna Bessonova", 'palla' => "Dina Averina", 'clavette' => "Margarita Mamun");
$secondo_turno = array('nastro' => "Elisa Santoni", 'cerchio' => "Romina Laurito", 'fune' => "Fabrizia D\'Ottavio");
$ginnaste = array_merge($primo_turno, $secondo_turno);
print_r($ginnaste);
echo "<br>";
echo "<br>";
$array_concatenato = $primo_turno + $secondo_turno;
print_r($array_concatenato);
?>

array_multisort

array_pad

La funzione array_pad($nome_array, dimensione_nuovo_array, valore) serve per allungare l'array passato come primo parametro fino a fargli raggiungere le dimensioni indicate dal secondo parametro. Gli elementi aggiunti avranno il valore indicato come terzo parametro.

<?php 
$gg_mm_aaaa = array("21", "10", "1985");
$data_piu_ora = array_pad($gg_mm_aaaa, 6, 0);
print_r($data_piu_ora);
?>

array_pop

La funzione array_pop($nome_array) serve per estrarre dall'array passato come parametro l'ultimo elemento.

<?php
$serie_a = array("Juventus", "Inter", "Milan", "Parma", "Palermo", "Torino");
$retrocessa = array_pop($serie_a);
print_r($serie_a);
echo "<br>";
echo "<p>La squadra retrocessa è il ".$retrocessa."</p>";
?> 

array_product

La funzione array_product($nome_array) serve per moltiplicare tra loro i valori numerici di un array.

<?php 
$triangolo = array('base' => 8, 'altezza' => 7);
$prodotto = array_product($triangolo);
$area = $prodotto / 2;
echo "<p>l'area di un triangolo con base ".$triangolo['base']." ed altezza ".$triangolo['altezza']." equivale a ".$area."</p>";
?>

array_push

La funzione array_push($nome_array, prima variabile da aggiungere, seconda variabile da aggiungere) serve per aggiungere alla fine dell'array passato come primo parametro le variabili passate come secondo parametro e seguenti.

<?php
$playlist = array("Resistance", "Supremacy", "Plug in baby", "Butterflies & Hurricanes", "Madness");
$nuovo_album = array_push($playlist, "Dead Inside", "Psycho", "Mercy");
print_r($playlist);
?> 

array_rand

La funzione array_rand($nome_array, numero di valori da estrarre) serve per estrarre casualmente un certo numero di chiavi dall'array passato come primo parametro. Il numero di chiavi da estrarre è indicato dal secondo parametro.

<?php
$scarabeo = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "l");
$primo_turno= array_rand($scarabeo, 5);
print_r($primo_turno);
echo "<br>";
$secondo_turno= array_rand($scarabeo, 5);
print_r($secondo_turno);
echo "<br>";
$terzo_turno= array_rand($scarabeo, 5);
print_r($terzo_turno);
echo "<br>";
echo $scarabeo[$terzo_turno[0]]."<br>";
echo $scarabeo[$terzo_turno[1]]."<br>";
echo $scarabeo[$terzo_turno[2]]."<br>";
echo $scarabeo[$terzo_turno[3]]."<br>";
echo $scarabeo[$terzo_turno[4]]."<br>";
?> 

array_reduce

array_replace_recursive

La funzione array_replace_recursive($primo_array, $secondo_array) serve per sostituire agli elementi del primo array quelli del secondo. Nel caso in cui le chiavi del primo array siano uguali a quelle del secondo array allora viene sostituito il valore. Nel caso in cui siano diverse esse vengono aggiunte.

<?php 
$maschile = array (
'attaccanti' => array('juve' => "Andrea", 'milan' => "Alessio", 'inter' => "Alessandro"),
'terzini' => array('juve' => "Marco", 'roma' => "Michele", 'lazio' => "Massimo")
);
$femminile = array (
'attaccanti' => array('juve' => "Maria", 'lazio' => "Anna", 'palermo' => "Giulia"),
'centrocampisti' => array('inter' => "Sara", 'parma' => "Francesca", 'sampdoria' => "Roberta")
);
$squadra_mista = array_replace_recursive($maschile, $femminile);

while (list($ruolo,$giocatori ) = each($squadra_mista))
{
echo "Chiave ".$ruolo."<br><br>";
while (list($chiave,$valore ) = each($giocatori))
{
echo $chiave." => ".$valore."<br><br>";
}
}

?>

array_replace

La funzione array_replace($primo_array, $secondo_array) serve per sostituire agli elementi del primo array quelli del secondo.

<?php 
$maschile = array (
'attaccanti' => array('juve' => "Andrea", 'milan' => "Alessio", 'inter' => "Alessandro"),
'terzini' => array('juve' => "Marco", 'roma' => "Michele", 'lazio' => "Massimo")
);
$femminile = array (
'attaccanti' => array('juve' => "Maria", 'lazio' => "Anna", 'palermo' => "Giulia"),
'centrocampisti' => array('inter' => "Sara", 'parma' => "Francesca", 'sampdoria' => "Roberta")
);
$squadra_mista = array_replace($maschile, $femminile);

while (list($ruolo,$giocatori ) = each($squadra_mista))
{
echo "Chiave ".$ruolo."<br><br>";
while (list($chiave,$valore ) = each($giocatori))
{
echo $chiave." => ".$valore."<br><br>";
}
}

?>

array_reverse

La funzione array_reverse($nome_array, true) serve per invertire l'ordine degli elementi dell'array. Le chiavi possono essere mantenute o meno a seconda della presenza o meno del secondo parametro con valore true.

<?php
$tappe_andata = array("Torino", "Genova", "Roma", "Messina");
$tappe_ritorno = array_reverse($tappe_andata);
print_r($tappe_ritorno);
?> 

array_search

La funzione array_search(valore da trovare, $nome_array) serve per cercare ciò che è indicato dal primo parametro dentro l'array indicato come secondo parametro. La funzione restituisce la chiave alla quale il valore si trova. Si può aggiungere true come terzo parametro per controllare anche il tipo di dato (stringa o integer). Se ci sono più chiavi con lo stesso valore viene restituita solo la prima.

Quando non viene trovato il valore nell'array allora restituisce false. Nel caso particolare in cui il valore cercato si trovi alla chiave 0 la funzione restituisce appunto 0, quindi se dopo si fa un controllo condizionale bisogna ricordarsi che 0 viene valutato come FALSE. Il problema si risolve usando l'operatore === invece di ==.

<?php 
$cartoni = array("Homer", "Marge", "Bart", "Lisa");
$ricerca = array_search("Bart", $cartoni);
echo "<p>il valore cercato si trova all'indice ".$ricerca."</p>";
echo "<br>";
$ricerca = array_search("Homer", $cartoni);
if ($ricerca) {
	echo "Mi sono ricordata di scrivere la condizione usando l'operatore ===, ad esempio if (\$ricerca === 0)";
}

else {
	echo "Non mi sono ricordata di scrivere la condizione usando l'operatore ===, ad esempio if (\$ricerca === 0)";
}
echo "<br>";
echo "<br>";
if ($ricerca === 0) {
	echo "Ho scritto correttamente la condizione";
}
?>

array_shift

La funzione array_shift() serve per estrarre dall'array passato come parametro il primo elemento.

<?php
$serie_b = array("Bologna", "Atalanta", "Sampdoria", "Cagliari", "Livorno", "Brescia");
$promossa = array_shift($serie_b);
print_r($serie_b);
echo "<br>";
echo "<p>La squadra promossa è il ".$promossa."</p>";
?> 

array_slice

La funzione array_slice($nome_array, offset) serve per creare un nuovo array le cui chiavi sono generate automaticamente e i cui valori sono quelli dell'array passato come primo parametro mancante dei primi elementi. Il numero di elementi da eliminare è dato dal parametro offset. Possiamo anche indicare che vogliamo selezionare gli ultimi n elementi dell'array definendo un offset con valore negativo.

E' possibile anche indicare come terzo parametro la lunghezza che vogliamo abbia il nuovo array (valore positivo) oppure il numero di elementi dalla fine dell'array che non devono essere compresi.

array_splice

array_sum

La funzione array_sum($nome_array) serve per sommare tutti i valori dell'array passato come parametro. Nel caso in cui uno dei valori sia una stringa ne viene fatto il casting (il valore viene trasformato in integer) e se possibile ne viene fatta la somma.

Bisogna ricordarsi che il valore TRUE equivale a 1 ed il valore FALSE equivale a 0.

<?php 
$numeri_primi = array(2, 3, 5, 7, 11, 13);
$somma = array_sum($numeri_primi);
echo "<p>La somma dei primi sei numeri primi è: ".$somma."</p>";
echo "<br>";
$esadecimale = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f");
$somma = array_sum($esadecimale);
echo "<p>La somma delle cifre nel sistema esadecimale è: ".$somma."</p>";
echo "<br>";
$array_alfanumerico = array(5, 5, "5");
$prova_casting = array_sum($array_alfanumerico);
echo $prova_casting;
echo "<br>";
$risposte = array(TRUE, TRUE, TRUE, TRUE, TRUE);
$quiz = array_sum($risposte);
echo $quiz;
 ?>