【问题标题】:array_walk_recursive return valuearray_walk_recursive 返回值
【发布时间】:2011-01-25 08:32:04
【问题描述】:

我正在使用带有回调函数的array_walk_recursive 在嵌套数组中搜索指定键:

array_walk_recursive($array, array($this, 'walk_array'), $key);

这里是回调函数:

function walk_array($value, $key, $userdata = '')
{
    if ($key === $userdata)
    {
        self::$items_array[$key] = $value;
        echo $value . "<br />\n";
    }
}

问题是我无法找到一种方法来存储/返回回调函数中找到的元素,即使我使用的是静态变量$items_array,但它始终包含由array_walk_recursive。另一方面,如果我echo从回调函数中找到元素:

echo $value . "<br />\n";

所有找到的元素都很好地回显。

如何从回调函数返回或存储找到的元素?

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    如果$key 将对应于您遍历的嵌套数组中的多个值,则您的$item_arrays 应该为该键拥有自己的数组。否则,你真正要做的就是用所有的值覆盖self::$items_array[$key]

    试试这个:

    self::$items_array[$key][] = $value;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 2014-04-07
      • 2011-02-24
      • 2021-01-16
      相关资源
      最近更新 更多