假设我有一个如下字符串:
01,03,02,15|05,04,06,10|07,09,08,11|12,14,13,16
如何使用php将其转换为如下所示的2D数组?:
01 03 02 15
05 04 06 10
07 09 08 11
12 14 13 16
任何帮助将不胜感激,谢谢!
答案 0 :(得分:2)
这应该可以解决问题:
$tmp = explode( '|', $str );
$data = array();
foreach ( $tmp as $k => $v )
{
$data[] = explode( ',', $v );
}
explode()是你的朋友。
答案 1 :(得分:1)
$str = '01,03,02,15|05,04,06,10|07,09,08,11|12,14,13,16';
$arr = array_map(function($val) { return explode(',',$val); },explode('|',$str));
var_dump($arr);
PHP> = 5.3.0
答案 2 :(得分:1)
这是一个快速选项,需要PHP 5.3.0或更高版本(无论如何都应该使用)。
$string = '01,03,02,15|05,04,06,10|07,09,08,11|12,14,13,16';
$array = array_map('str_getcsv', explode('|', $string));
答案 3 :(得分:0)
$arr1 = explode("|",$yourString);
$arr2 = array();
for ($i=0;$i<count($arr1);$i++)
$arr2[] = explode(",",$arr1[i]);
答案 4 :(得分:0)
$str = "01,03,02,15|05,04,06,10|07,09,08,11|12,14,13,16 ";
$array = explode('|', $str);
$final_array = array();
foreach($array as $val)
{
array_push($final_array, explode(',', $val));
}