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

将多维数组转换为单个数组

刘昌翰
2023-03-14
问题内容

我有一个无缘无故的多维数组

/* This is how my array is currently */
Array
(
[0] => Array
    (
        [0] => Array
            (
                [plan] => basic
            )

        [1] => Array
            (
                [plan] => small
            )

        [2] => Array
            (
                [plan] => novice
            )

        [3] => Array
            (
                [plan] => professional
            )

        [4] => Array
            (
                [plan] => master
            )

        [5] => Array
            (
                [plan] => promo
            )

        [6] => Array
            (
                [plan] => newplan
            )

    )

 )

我想将此数组转换为这种形式

/*Now, I want to simply it down to this*/
Array (
[0] => basic
[1] => small
[2] => novice
[3] => professional
[4] => master
[5] => promo
[6] => newplan
)

任何想法如何做到这一点?


问题答案:

假设此数组可能是(也可能不是)冗余嵌套,并且您不确定它的深度,可以为您展平它:

function array_flatten($array) { 
  if (!is_array($array)) { 
    return FALSE; 
  } 
  $result = array(); 
  foreach ($array as $key => $value) { 
    if (is_array($value)) { 
      $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
      $result[$key] = $value; 
    } 
  } 
  return $result; 
}


 类似资料:
  • 问题内容: 将多维javascript数组转换为JSON的最佳方法是什么? 问题答案: 大多数流行的JavaScript框架都包含JSON实用程序功能。例如,jQuery具有直接调用url并将JSON结果作为对象加载的函数: http //docs.jquery.com/Getjson 但是,您可以从json网站获取开源JSON解析器和字符串化器: https://github.com/dougl

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

  • 这行代码给我抛出了异常:线程“main”中的异常java.lang.IndexOutofBoundsExc的索引:5,大小:5 我试图将数组列表转换成多维数组。

  • 我是JavaScript的新手,知道我可以像下面这样转换数组,但不知道如何将值转换为JavaScript的多维关联数组,在那里我可以用JavaScript打印值。

  • 问题内容: 我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码: 问题答案: 您正在寻找类似的东西: 与以下内容相同: 但试图帮助进一步解释这个概念。

  • 数据帧: 我遵循了一个类似问题的解决方案:如何从for循环中构建和填充熊猫数据帧? 您可以看到这些值都是准确的,但是它返回了每个索引的整个值列表 此输出看起来正确,但正如您所看到的,只返回第一组