为了账号安全,请及时绑定邮箱和手机立即绑定

如何展平多维数组?

如何展平多维数组?

如何展平多维数组?在PHP中,是否可以在不使用递归或引用的情况下展平(双/多)维数组?我只对值感兴趣所以可以忽略键,我正在考虑array_map()和array_values()。
查看完整描述

4 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您可以使用标准PHP库(SPL)来“隐藏”递归。

$a = array(1,2,array(3,4, array(5,6,7), 8), 9);$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($a));foreach($it as $v) {
  echo $v, " ";}

版画

1 2 3 4 5 6 7 8 9


查看完整回答
反对 回复 2019-05-27
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

PHP 5.3开始,最短的解决方案似乎是array_walk_recursive()使用新的闭包语法:

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;}


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 706 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信