Funzioni array (parte 1)
22-08-2022
Le principali funzioni php con gli array
PHP
22-08-2022
Le principali funzioni php con gli array
<?php
// https://www.php.net/manual/en/function.array.php
// -------ARRAY_MAP------
// array_map(?callable $callback, array $array, array ...$arrays): array
// esegue una funzione per ogni elemento
echo "---ARRAY_MAP---\n";
function echoFiori($nome)
{
echo "$nome\n";
}
$fiori_nomi = ["margherita", "rosa", "orchidea", "geranio", "tulipano", "giglio"];
array_map('echoFiori', $fiori_nomi);
/*
margherita
rosa
orchidea
geranio
tulipano
giglio
*/
// Altro metodo
$echoFiori2 = function ($nome) {
echo "$nome\n";
};
array_map($echoFiori2, $fiori_nomi);
// -------ARRAY_CHUNK------
// array_chunk(array $array, int $length, bool $preserve_keys = false): array
// taglia un array in pezzi
echo "---ARRAY_CHUNK---\n";
$posizioni = array('primo', 'secondo', 'terzo', 'quarto', 'quinto');
print_r(array_chunk($posizioni, 3));
/*
Array
(
[0] => Array
(
[0] => primo
[1] => secondo
[2] => terzo
)
[1] => Array
(
[0] => quarto
[1] => quinto
)
)
*/
// -----ARRAY_COLUMN--------
// array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array
// ritorna tutte i dati di un array di una determinata colonna
// (stessa chiave per ogni elemento)
echo "---ARRAY_COLUMN---\n";
$persone = [
array(
'id' => 1000,
'nome' => 'Primo',
'cognome' => 'Rossi',
),
array(
'id' => 1001,
'nome' => 'Secondo',
'cognome' => 'Verdi',
),
array(
'id' => 1002,
'nome' => 'Terzo',
'cognome' => 'Gialli',
)
];
$persone_nomi = array_column($persone, 'nome');
print_r($persone_nomi);
/*
Array
(
[0] => Primo
[1] => Secondo
[2] => Terzo
)
*/
// -----ARRAY_COMBINE-------
// array_combine(array $keys, array $values): array
// dati due array restituisce un array in cui usa il primo come chiave
// e il secondo come valore
echo "---ARRAY_COMBINE---\n";
$frutto = ['mela', 'banana', 'pera'];
$colore = ['rosso', 'giallo', 'verde'];
$risultato_combine = array_combine($frutto, $colore);
print_r($risultato_combine);
// -----ARRAY_COUNT_VALUES------
// array_count_values(array $array): array
// restituisce un array con chiave i valori differenti e come valore quante
// volte sono presenti
echo "---ARRAY_COUNT_VALUES---\n";
$array_conta_valori_differenti = array(1, "rosa", 1, "rosa", "giallo");
print_r(array_count_values($array_conta_valori_differenti));
/*
Array
(
[1] => 2
[rosa] => 2
[giallo] => 1
)
*/
// --------ARRAY_DIFF------
// array_diff(array $array, array ...$arrays): array
// ritorna un array con i valori presenti nel primo array ma non nel secondo
// (le chiavi dell'array sono preservate)
echo "---ARRAY_DIFF---\n";
// chiavi c1 0 1 2
$array1 = array("c1" => "verde", "rosso", "BLU", "rosso");
$array2 = array("c2" => "verde", "giallo", "rosso");
$result = array_diff($array1, $array2);
print_r($result);
/*
Array
(
[1] => BLU
)
*/
// chiavi 0 1 2 3
$array1 = array("verde", "rosso", "BLU", "rosso");
$array2 = array("verde", "giallo", "rosso");
$result = array_diff($array1, $array2);
print_r($result);
/*
Array
(
[2] => BLU
)
*/
// ------ARRAY_DIFF_KEY-------
// array_diff_key(array $array, array ...$arrays): array
// ritorna un array (chiave/valore) con le chiavi presenti solo nel primo array
// ma non nel secondo
echo "---ARRAY_DIFF_KEY---\n";
$array1 = array('blu' => 1, 'rosso' => 2, 'verde' => 3);
$array2 = array('blu' => 5, 'verde' => 7);
print_r(array_diff_key($array1, $array2));