如何与QUOT;扁平化"多维数组简单的在PHP? [英] How to "flatten" a multi-dimensional array to simple one in PHP?

查看:138
本文介绍了如何与QUOT;扁平化"多维数组简单的在PHP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这也可能是初学者问题,但我会通过文档较长的时间已经和我找不到任何解决方案。我以为我可以使用破灭每个维度,然后把这些字符串后面加上 str_split 作出新​​的简单的数组。不过,我从来不知道,如果加盟模式不也是价值观和做经过了这么 str_split 我原来的值可能会断裂。

It's probably beginner question but I'm going through documentation for longer time already and I can't find any solution. I thought I could use implode for each dimension and then put those strings back together with str_split to make new simple array. However I never know if the join pattern isn't also in values and so after doing str_split my original values could break.

有什么样组合($数组1,$数组2)的内部多维数组数组?

Is there something like combine($array1, $array2) for arrays inside of multi-dimensional array?

推荐答案

使用 array_values​​ 。 (从PHP网站为例)

Use array_values. (Example from php site)

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

?>

这篇关于如何与QUOT;扁平化&QUOT;多维数组简单的在PHP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆