之前提過可以利用 array_search() 篩選出某陣列裡是否有特定的值,而如果是一個關聯式陣列的話,可以透過 array_column() 先把陣列簡化後再透過 array_search() 去篩出其 index 為何,舉例來說:

$people = [
  [
    "name"=>"John",
    "age"=>17
  ],
  [
    "name"=>"May",
    "age"=>22
  ]
];

 

想以此關聯式陣列找出 May 的年齡,可以這麼做:

$found_key = array_search('May', array_column($people, 'name'));

 

取得 key 之後再帶回原本的陣列即可:

echo $people[$found_key]["age"];

 

給有需要的朋友參考。