数组看起来像这样:
$array = array(
array(
'Item' => array(47, 48, 46, 42),
'ID' => 1,
),
array(
'Item' => array(29, 37, 46, 48),
'ID' => 2,
),
array(
'Item' => array(33, 27, 18),
'ID' => 3,
),
);
我要做的是搜索[Item]数组,如果匹配,请将[ID]添加到新数组中。
所以,如果我正在寻找46
,那么我会在ID 1
和2
的简单数组中得到结果。
我确信这应该是如此简单,但我似乎已经完成了一个完整的心理障碍,所以任何帮助都会非常感激。
答案 0 :(得分:0)
尝试:
$ids = array();
foreach($yourArray as $v)
if(in_array(46, $v["Item"]))
$ids[] = $v["ID"];
答案 1 :(得分:0)
试试这个,
foreach($array as $v) {
if(in_array(46, $v['Item'])
$ids[] = $v['ID']; //array $ids will contain 1, 2..and so on.
}
答案 2 :(得分:0)
您是否尝试过使用in_array()?
您可以迭代数组并检查您的值是否位于Item数组中。类似的东西:
function getId(array $array, $value) {
$ids = array();
foreach ($array as $element) {
if (in_array($value, $element['Item'])) {
$ids[] = $element['ID'];
}
}
return $ids;
}