php while循环数组

php while循环数组,php,arrays,multidimensional-array,while-loop,Php,Arrays,Multidimensional Array,While Loop,我试图循环遍历一个子数组(它是多维数组的一部分),并检查是否有一对键/值。如果找到了该对,我想返回找到它的子数组的密钥 不幸的是,key()函数似乎不适用于foreach 如何更改此代码以使用while循环 如果你有更好的建议,请告诉我 foreach ($subarray as $subkey => $subvalue) { if ($subkey == 'key_value' AND $subvalue = 'value') { retur

我试图循环遍历一个子数组(它是多维数组的一部分),并检查是否有一对键/值。如果找到了该对,我想返回找到它的子数组的密钥

不幸的是,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”的“title”,函数应该返回“books”,因为这是找到子键/值对的键


谢谢您的帮助。

如果您使用的是
return
,它返回的函数在哪里?请更新此答案,因为它可能会混淆/误导未来的读者。
$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;
  }
}