分解Array元素的每个值

时间:2016-08-29 10:14:26

标签: php arrays explode

我有一个像:

这样的数组
Array
(
   [2] => 2,6
   [3] => 1
   [4] => 14
   [5] => 10
   [6] => 8
)

我想爆炸数组的每个元素并使用array_map返回一个新数组,这样我就可以避免使用循环,并创建额外的函数来回调。

O / p应该像:

  Array
(
[2] => Array
    (
        [0] => 2
        [1] => 6
    )

[3] => Array
    (
        [0] => 1
    )

[4] => Array
    (
        [0] => 14
    )

[5] => Array
    (
        [0] => 10
    )

[6] => Array
    (
        [0] => 8
    )

)

4 个答案:

答案 0 :(得分:1)

尝试以下代码

$newArr = array_map(function($val, $key){
    return explode(",", $val);
}, $arr);

答案 1 :(得分:1)

您可以使用

$result = array_map(function($val) {
    return explode(',', $val);
}, $input);

这将导致

Array
(
    [2] => Array
        (
            [0] => 2
            [1] => 6
        )

    [3] => Array
        (
            [0] => 1
        )

    [4] => Array
        (
            [0] => 14
        )

    [5] => Array
        (
            [0] => 10
        )

    [6] => Array
        (
            [0] => 8
        )

)

这适用于PHP> = 5.3,支持匿名函数。

答案 2 :(得分:0)

https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A92525220&start-date=2016-08-25&end-date=2016-08-25&metrics=ga%3Asessions&access_token=XXX

答案 3 :(得分:0)

您也可以

$result = array_map('str_getcsv', $input);

这也会导致

Array
(
    [2] => Array
        (
            [0] => 2
            [1] => 6
        )

    [3] => Array
        (
            [0] => 1
        )

    [4] => Array
        (
            [0] => 14
        )

    [5] => Array
        (
            [0] => 10
        )

    [6] => Array
        (
            [0] => 8
        )

)