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

新手上路,请多包涵

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

/* 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
)

知道怎么做吗?

原文由 CuriousMind 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 365
2 个回答

假设这个数组可能是冗余嵌套的,也可能不是冗余嵌套的,并且您不确定它的深度,这应该为您展平它:

 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;
}

原文由 AlienWebguy 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果使用 php 7.4 及以上版本

$users = [
    [
        'Ahmed',
        'Mohammed',
    ],
    [
        'Saeed',
        'Rami',
        'Haider',
    ],
];

$admin = array_merge(...$users);

原文由 Waad Mawlood 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题