funzione filtro array da php:
array_filter ( $array, $callback_function, $flag )
$ array - È l'array di input
$ callback_function - La funzione di callback da usare , Se la funzione di callback ritorna true , il valore corrente dall'array viene restituito nell'array dei risultati.
$ flag - È un parametro facoltativo , determinerà quali argomenti vengono inviati alla funzione di callback. Se questo parametro è vuoto, la funzione di callback prenderà i valori dell'array come argomento. Se si desidera inviare la chiave dell'array come argomento, utilizzare $ flag come ARRAY_FILTER_USE_KEY . Se vuoi inviare sia chiavi che valori, dovresti usare $ flag come ARRAY_FILTER_USE_BOTH .
Ad esempio: considerare un array semplice
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Se si desidera filtrare l'array in base alla chiave dell'array , è necessario utilizzare ARRAY_FILTER_USE_KEY come terzo parametro della funzione dell'array array_filter.
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Se si desidera filtrare l'array in base alla chiave dell'array e al valore dell'array , è necessario utilizzare ARRAY_FILTER_USE_BOTH come terzo parametro della funzione array array_filter.
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Funzioni di richiamata di esempio:
function get_key($key)
{
if($key == 'a')
{
return true;
} else {
return false;
}
}
function get_both($val,$key)
{
if($key == 'a' && $val == 1)
{
return true;
} else {
return false;
}
}
Verrà emesso
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
questo si tradurrà in$b['bar']
BEnull
.