Salve,
sapete dirmi perché non funziona?
Codice PHP:
$listArray = array (
array (
'id' => 1,
'nome' => 'filippo',
'stelle' => 3
),
array ('id' => 2,
'nome' => 'stefania',
'stelle' => 3
)
);
if(array_search(1,$listArray)){
echo 'ciao';
}
Salve,
sapete dirmi perché non funziona?
Codice PHP:
$listArray = array (
array (
'id' => 1,
'nome' => 'filippo',
'stelle' => 3
),
array ('id' => 2,
'nome' => 'stefania',
'stelle' => 3
)
);
if(array_search(1,$listArray)){
echo 'ciao';
}
Dai un'occhiata alla prima "User Contributed Notes" subito dopo gli esempi array_search()
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
Perche' array_search non funziona se gli elementi dell'array sono essi stessi array: come fa a sapere che vuoi cercare nell'id?
Se hai PHP 5.5+ puoi usare array_column cosi':
altrimenti usi un normale foreach e fai il controllo a mano.Codice PHP:
$key = array_search(1, array_column($listArray, 'id'));
Ho provato cosi:
Ma non succede nullaCodice PHP:
function array_column($array,$column_name) {
return array_map(function($element) use($column_name){return $element[$column_name];}, $array);
}
$listArray = array (
array (
'id' => 1,
'nome' => 'filippo',
'stelle' => 3
),
array ('id' => 2,
'nome' => 'stefania',
'stelle' => 3
)
);
if(array_search(1, array_column($listArray, 'id'))){
echo 'ciao';
}
In locale non ho php 5.5, posso integrare la funzione?
Ho risolto:
if(array_search(1, array_column($listArray, 'id')) !== false){
echo 'ciao';
}