首页 > 解决方案 > 从数组值拆分字符串并将该拆分数组添加到同一主数组中

问题描述

这是我的数组结构

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

并且任何元素都有多个以逗号分隔的值。

我想重组它

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

标签: php

解决方案


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

$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_arrayand array_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 
)

3v4l.org 上的演示


推荐阅读