在一维数组中使用 array_search 很简单
$array = array("apple", "banana", "cherry");
$searchValue = "cherry";
$key = array_search($searchValue, $array);
echo $key;
但是多维数组呢?
#RaceRecord
[CarID] [ColorID] [Position]
[0] 1 1 3
[1] 2 1 1
[2] 3 2 4
[3] 4 2 2
[4] 5 3 5
例如我想获取位置为 1 的汽车的索引。我该怎么做?
最佳答案
在 php 5.5.5 及更高版本中, 你可以试试这个
$array_subjected_to_search =array(
array(
'name' => 'flash',
'type' => 'hero'
),
array(
'name' => 'zoom',
'type' => 'villian'
),
array(
'name' => 'snart',
'type' => 'antihero'
)
);
$key = array_search('snart', array_column($array_subjected_to_search, 'name'));
var_dump($array_subjected_to_search[$key]);
输出:
array(2) { ["name"]=> string(5) "snart" ["type"]=> string(8) "antihero" }
工作样本:http://sandbox.onlinephpfunctions.com/code/19385da11fe0614ef5f84f58b6dae80bd216fc01
有关 array_column 的文档可以找到 here
关于php - 对多维数组使用 array_search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7694843/