我有一个如下所示的数组:
Array
(
[0] => Array
(
[0] => 1
[id] => 1
)
[1] => Array
(
[0] => 2
[id] => 2
)
)
我想要做的是将int值与id值字段中的值进行比较。所以,如果我传入一个1,我希望能够有一个比较这个功能。我在思考in_array,但我无法让它发挥作用。有谁知道我可以用它做什么功能?
感谢。
答案 0 :(得分:1)
尝试这样的事情:
$needle = 1;
$found = false;
foreach ($array as $key => $val) {
if ($val['id'] === 1) {
$found = $key;
break;
}
}
if ($found !== false) {
echo 'found in $array['.$found.']';
}
因为你想要更紧凑的东西:
$needle = 1;
array_filter($array, create_function('$val', 'return $val["id"] !== '.var_export($needle, true).';'))
这将过滤掉id
值不是1
的所有元素。
答案 1 :(得分:1)
你不希望函数的结果是什么,但是我猜你想要包含你正在寻找的ID的数组的键,在这种情况下,下面的函数会找到这一点。
<?php
function get_key($array, $id) {
foreach ($array as $key => $unit) {
if ($unit['id'] == $id) {
return $key;
}
}
}