当前位置: 首页 > 面试题库 >

如何在PHP中将多维数组“扁平化”为简单数组?

毋修为
2023-03-14
问题内容

这可能是初学者的问题,但是我已经花了更长的时间阅读文档,而且找不到任何解决方案。我以为我可以对每个维度使用爆破,然后将这些字符串放回一起str_split以组成新的简单数组。但是我不知道联接模式是否也不在值中,因此在执行完str_split原始值之后,可能会损坏。

combine($array1, $array2)多维数组内部是否存在类似于数组的内容?


问题答案:

采用 array_walk_recursive

<?php

$aNonFlat = array(
    1,
    2,
    array(
        3,
        4,
        5,
        array(
            6,
            7
        ),
        8,
        9,
    ),
    10,
    11
);

$objTmp = (object) array('aFlat' => array());

array_walk_recursive($aNonFlat, create_function('&$v, $k, &$t', '$t->aFlat[] = $v;'), $objTmp);

var_dump($objTmp->aFlat);

/*
array(11) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  [7]=>
  int(8)
  [8]=>
  int(9)
  [9]=>
  int(10)
  [10]=>
  int(11)
}
*/

?>

使用PHP 5.5.9-1ubuntu4.24(CLI)测试(内置:2018年3月16日12:32:06)



 类似资料:
  • 如何将一个简单的(即没有嵌套结构的)数据表扁平化为列表?我的习题集是检测从节点对表中更改/添加/删除的所有节点对。 这意味着我有一个“before”和“after”表要比较。将before和after dataframe组合在一起生成的行描述了一对数据在一个dataframe中出现而在另一个dataframe中不出现的位置。 单独且不同地合并所有列 平面地图和不同的 映射和展平 由于结构是众所周知

  • 本文向大家介绍请实现一个flattenDeep函数,把多维数组扁平化相关面试题,主要包含被问及请实现一个flattenDeep函数,把多维数组扁平化时的应答技巧和注意事项,需要的朋友参考一下

  • 如我们所知,要使用方法对数组进行展平 那么如何将这个数组平坦化为呢?

  • 问题内容: 在PHP中,是否可以在不使用递归或引用的情况下展平(双向/多维)数组? 我只关心的值,这样的键可以忽略不计,我想在的线和。 问题答案: 您可以使用标准PHP库(SPL) “隐藏”递归。 版画

  • 问题内容: 我有一个包含树数据的数组(按父ID)。我想将其转换为多维数组。做到这一点的最佳方法是什么?是否有任何简短功能? 源数组: 源数组中缺少某些父母。我希望缺少父项的项成为根。结果数组: 更新:删除方括号。 问题答案: 我认为PHP中没有内置函数可以做到这一点。 我尝试了以下代码,似乎可以按照您描述的方式准备嵌套数组: 我在为演示文稿SQL和PHP中的层次模型编写的PHP类中编写了类似的算法

  • 本文向大家介绍js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解,包括了js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解的使用技巧和注意事项,需要的朋友参考一下 数组的扁平化:将多维数组变成一维数组 对于一个像这样的嵌套数组:a=[1,[2,[3,4]],5,6]我们想要把它变成一个一维数组,有下面几种方法: 方法一:递