php while循环数组

时间:2011-08-18 21:08:41

标签: php arrays multidimensional-array while-loop

我正在尝试遍历子数组(它是多维数组的一部分)并检查是否存在一对键/值。如果找到了这对,我想返回找到它的子数组的键。

不幸的是, 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”,因为这是找到子键/值对的键。

感谢您的帮助。

1 个答案:

答案 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;
  }
}