【问题标题】:php while loop through arrayphp while循环遍历数组
【发布时间】:2011-10-30 03:50:09
【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

    标签: php arrays multidimensional-array while-loop


    【解决方案1】:
    $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;
      }
    }
    

    【讨论】:

    • 如果你使用return,它返回的函数在哪里?请更新此答案,因为它可能会混淆/误导未来的读者。
    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 2011-05-23
    • 2012-11-14
    • 2011-04-25
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多