Php 从逗号分隔的数组值构建数组
Php build array from comma separated array values
我有一个数组,其中一些数组值包含多个用逗号分隔的值,如下所示。
$a = array(
'0' => 't1,t2',
'1' => 't3',
'2' => 't4,t5'
);
我需要以下格式的输出。
Array
(
[0] => t1
[1] => t2
[2] => t3
[3] => t4
[4] => t5
)
这是尝试并获得结果的方式。有没有其他不用循环两次的方法呢
$arr_output = array();
foreach($a as $val)
{
$temp = explode(',', $val);
foreach($temp as $v)
{
$arr_output[] = $v;
}
}
谢谢。
$array = Array (
"t1,t2",
"t3",
"t4,t5"
);
$splitted = array_map (function ($a) {return explode (",", $a);}, $array);
$arr = array_reduce($splitted, function ($a, $b) {
return array_merge($a, (array) $b);
}, []);
print_r ($arr);
首先,你用逗号分割了每个字符串。你得到一个数组数组。
要合并它们,您可以调用一个合并函数,例如示例中带有 array_reduce.
的函数
首先将旧数组转换为字符串,例如
$old_array = array
(
"t1,t2",
"t3",
"t4,t5"
);
到
$string = implode(",", $old_array);
现在
echo $string;
给出一个带有逗号分隔符的字符串现在使用这个你得到想要的数组
$new_array = explode(",", $string);
如果你打印这个你会得到
Array(
[0] => t1
[1] => t2
[2] => t3
[3] => t4
[4] => t5)
我有一个数组,其中一些数组值包含多个用逗号分隔的值,如下所示。
$a = array( '0' => 't1,t2', '1' => 't3', '2' => 't4,t5' );
我需要以下格式的输出。
Array ( [0] => t1 [1] => t2 [2] => t3 [3] => t4 [4] => t5 )
这是尝试并获得结果的方式。有没有其他不用循环两次的方法呢
$arr_output = array(); foreach($a as $val) { $temp = explode(',', $val); foreach($temp as $v) { $arr_output[] = $v; } }
谢谢。
$array = Array (
"t1,t2",
"t3",
"t4,t5"
);
$splitted = array_map (function ($a) {return explode (",", $a);}, $array);
$arr = array_reduce($splitted, function ($a, $b) {
return array_merge($a, (array) $b);
}, []);
print_r ($arr);
首先,你用逗号分割了每个字符串。你得到一个数组数组。 要合并它们,您可以调用一个合并函数,例如示例中带有 array_reduce.
的函数首先将旧数组转换为字符串,例如
$old_array = array
(
"t1,t2",
"t3",
"t4,t5"
);
到
$string = implode(",", $old_array);
现在echo $string;
给出一个带有逗号分隔符的字符串现在使用这个你得到想要的数组
$new_array = explode(",", $string);
如果你打印这个你会得到
Array(
[0] => t1
[1] => t2
[2] => t3
[3] => t4
[4] => t5)