Ho una matrice, che voglio filtrare da una variabile esterna. La situazione è la seguente:Usa variabile esterna in array_filter
$id = '1';
var_dump($id);
$foo = array_filter($bar, function($obj){
if (isset($obj->foo)) {
var_dump($id);
if ($obj->foo == $id) return true;
}
return false;
});
Il primo var_dump
restituisce l'ID (che è impostato dinamicamente naturalmente), tuttavia, il secondo var_dump
restituisce null.
Qualcuno può dirmi perché e come risolverlo?
ciò che è $ bar e qual è il valore di $ bar –
@NitishKumar '$ bar' normalmente è un array –
@ php-dev Possiamo dire è sicuramente un array, perché non sta generando un errore PHP. Potrebbe non essere sempre ** sempre un array, a seconda del codice, ma è sicuramente un array nel caso d'uso in cui viene visualizzato l'errore descritto nell'OP – Joe