dar*_*dub 5 php multidimensional-array
我有一个数组如下
array(2) {
["operator"] => array(2) {
["qty"] => int(2)
["id"] => int(251)
}
["accessory209"] => array(2) {
["qty"] => int(1)
["id"] => int(209)
}
["accessory211"] => array(2) {
["qty"] => int(1)
["id"] => int(211)
}
}
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来验证数组中存在的id值并返回bool.我试图找出一种不需要创建循环的快速方法.使用in_array函数不起作用,我也读到它很慢.
在php手册中,有人建议使用flip_array()然后使用isset(),但我不能让它适用于2-d数组.
做某事
if($array['accessory']['id'] == 211)
Run Code Online (Sandbox Code Playgroud)
也适合我,但我需要匹配所有包含附件的钥匙 - 不知道如何做到这一点
无论如何,我在旋转,并可以使用一些帮助.这看起来应该很容易.谢谢.
嘿dardub,您可以使用array_walk来验证特定值是否在您的数组中 - array_walk遍历您数组的al元素并将提供的函数应用于它们,因此基本上您需要创建该函数.它使用如下:
$arr = array(
'one' => array('id' => 1),
'two' => array('id' => 2),
'three' => array('id' => 3)
);
function checkValue($value, $key)
{
echo $value['id'];
}
array_walk($arr, 'checkValue');
Run Code Online (Sandbox Code Playgroud)
您只需要在函数中添加您需要的条件/验证.
希望能帮助到你.
M.
编辑:array_walk上的PHP文档http://www.php.net/manual/en/function.array-walk.php