从数组值中拆分字符串,然后将该拆分后的数组添加到同一主数组中

时间:2019-02-14 09:32:58

标签: php

这是我的数组结构

Array
(
    [29] => 93
    [343] => 1156,1157
    [81] => 211
    [79] => 202
)

和任何元素具有多个逗号分隔的值。

我想像这样重组

Array
(
    [29] => 93
    [343] => 1156
    [81] => 211
    [79] => 202
    [80] => 1157
)

1 个答案:

答案 0 :(得分:0)

如果您不关心数组键,则可以对explodearray_merge使用简单的foreach循环:

$new_array = array();
foreach ($array as $key => $value) {
    $values = explode(',', $value);
    $new_array = array_merge($new_array, $values);
}
print_r($new_array);

如果您想要一个难以理解的复杂单行代码,可以使用call_user_func_arrayarray_map来尝试:

$new_array = call_user_func_array('array_merge', array_map(function ($v) { return explode(',', $v); }, $array))

在两种情况下,输出都是相同的:

Array (
    [0] => 93
    [1] => 1156
    [2] => 1157
    [3] => 211
    [4] => 202 
)

Demo on 3v4l.org