我正在尝试遍历子数组(它是多维数组的一部分)并检查是否存在一对键/值。如果找到了这对,我想返回找到它的子数组的键。
不幸的是, key()功能似乎无法与 foreach 一起使用。
如何更改此代码以使用 while 循环?
如果您有更好的建议请告诉我。
foreach ($subarray as $subkey => $subvalue) {
if ($subkey == 'key_value' AND $subvalue = 'value') {
return key($subarray);
}
}
数组键不是数字。这是一个例子:
$array['books'] = array('quantity' => 10, 'title' => 'Something')
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else')
搜索名为“something”的“标题”时,该函数应返回“books”,因为这是找到子键/值对的键。
感谢您的帮助。
答案 0 :(得分:3)
$array['books'] = array('quantity' => 10, 'title' => 'Something');
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else');
foreach($array as $key => $value) {
if ($value['title'] === 'Something') {
return $key;
}
}