Ich versuche, einen Wert in einem Array von Milti-Arrays zu finden, und nachdem ich ihn gefunden habe, möchte ich einen anderen Schlüssel zurückgeben, weiß aber nicht, wie ich das weiter erklären soll.
Ich habe ein Array:
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 ))
Ich versuche, ein Array nach [custom_tab_field_id] zu finden und das aktuelle Array [Status] zurückzugeben.
Ich habe eine Funktion erstellt, die das tun soll, aber sie gibt immer 0 zurück.
Eigenschaften:
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; }
Dann rufen Sie einfach die Funktion auf, indem Sie den Wert übergeben
$returnedStatus = searchForStatus($field['custom_tab_field_id'], $tempArr);
可以使用
array-filter
函数来解决。即它将从与
搜索
id 匹配的数组中返回整个数组。你也可以为此编写一个函数
使用 array_column 函数,这可以轻松实现已解决并且非常通用。
该解决方案不包含错误处理,仅展示原理。 $arrKeyValue 是一个数组,如何:
尝试自行https://3v4l.org/SnVM4