Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php从逗号分隔的数组值构建数组_Php_Arrays_Explode - Fatal编程技术网

Php从逗号分隔的数组值构建数组

Php从逗号分隔的数组值构建数组,php,arrays,explode,Php,Arrays,Explode,我有一个数组,其中一些数组值包含多个用逗号分隔的值,如下所示 $a = array( '0' => 't1,t2', '1' => 't3', '2' => 't4,t5' ); $a=数组( “0”=>“t1,t2”, “1”=>“t3”, “2”=>“t4,t5” ); 我需要以下格式的输出 Array ( [0] => t1 [1] =

我有一个数组,其中一些数组值包含多个用逗号分隔的值,如下所示

$a = array( '0' => 't1,t2', '1' => 't3', '2' => 't4,t5' ); $a=数组( “0”=>“t1,t2”, “1”=>“t3”, “2”=>“t4,t5” ); 我需要以下格式的输出

Array ( [0] => t1 [1] => t2 [2] => t3 [3] => t4 [4] => t5 ) 排列 ( [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; } } $arr_输出=数组(); 外汇($a作为$val) { $temp=分解(',',$val); foreach($v的临时值) { $arr_输出[]=$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);
首先,你把每一根线都按coma分开。你会得到一个数组。
要合并它们,您可以调用一个合并函数,例如示例中带有array_reduce的函数。

首先将旧数组转换为字符串,如,
$old\u array=array
(
“t1,t2”,
“t3”,
“t4,t5”
);

$string=内爆(“,”,$old\u数组)
现在
回显$string
给出了一个带有coma分隔符的字符串,现在使用它可以得到所需的数组

$new_array = explode(",", $string);
如果您打印此文件,您将获得

Array(
[0] => t1
[1] => t2
[2] => t3
[3] => t4
[4] => t5)

发布您的代码以及您尝试过的内容?@orangetime无需在此处使用循环,您可以通过使用预定义的php数组函数获得所需的输出。请检查我下面的答案。@prudhvi259,非常感谢。你的解决方案很简单。