首页 >后端开发 >php教程 >如何在不使用递归的情况下在 PHP 中展平多维数组?

如何在不使用递归的情况下在 PHP 中展平多维数组?

Linda Hamilton
Linda Hamilton原创
2024-12-27 15:45:14874浏览

How Can I Flatten a Multidimensional Array in PHP Without Recursion?

在 PHP 中展平多维数组

展平多维数组涉及将其嵌套结构转换为一维数组。这可以在 PHP 中实现,无需使用递归或引用。

使用 array_walk_recursive() 的迭代解决方案

对于 PHP 版本 5.3 及更高版本,最简洁的解决方案是使用array_walk_recursive() 以及新的闭包语法:

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

此函数递归遍历数组,将每个遇到的值存储在 $return 数组中。结果是一个包含所有原始值的展平一维数组。

以上是如何在不使用递归的情况下在 PHP 中展平多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn