J'essaie de trouver une valeur dans un tableau de tableaux milti et après l'avoir trouvée, je veux renvoyer une clé différente, je ne sais pas comment expliquer davantage.
J'ai un tableau :
tempArray( [0] => Array ( [id] => 18460 [field_id] => 14 [parent_id] => 165 [custom_tab_field_id] => 17775 [status] => 0 [field_type] => 0 ) [1] => Array ( [id] => 18461 [field_id] => 2 [parent_id] => 165 [custom_tab_field_id] => 17776 [status] => 0 [field_type] => 2 ) [2] => Array ( [id] => 18462 [field_id] => 12 [parent_id] => 165 [custom_tab_field_id] => 17777 [status] => 2 [field_type] => 2 ))
J'essaie de trouver un tableau par [custom_tab_field_id] et de renvoyer le tableau actuel [status].
J'ai créé une fonction qui est censée faire cela, mais elle renvoie toujours 0.
Caractéristiques :
function searchForStatus($id, $array){ $returnedStatus = "0"; foreach ($array as $key => $val){ if ($val['custom_tab_field_id'] == $id){ return $returnedStatus = $array[$key]['status']; } } return $returnedStatus; }
Ensuite, appelez simplement la fonction en passant la valeur
$returnedStatus = searchForStatus($field['custom_tab_field_id'], $tempArr);
peut être résolu en utilisant la fonction
array-filter
. C'estIl renverra l'intégralité du tableau à partir du tableau correspondant à l'identifiant
搜索
.Vous pouvez également écrire une fonction pour cela
En utilisant la fonction array_column, cela peut être facilement résolu et très général.
Cette solution n'inclut pas la gestion des erreurs, elle montre uniquement le principe. $arrKeyValue est un tableau, que diriez-vous de :
Essayez-le vous-mêmehttps://3v4l.org/SnVM4