Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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_Types - Fatal编程技术网

在php中将字符串转换为多维数组

在php中将字符串转换为多维数组,php,arrays,types,Php,Arrays,Types,在php中将字符串转换为多维数组时遇到问题。这是我的字符串: $String = a,b,c|d,e,f|g,h,y| 这就是我正在尝试的: $one=explode("|",$String); foreach ($one as $item) { $one=explode(",",$one); } 我要创建此阵列: $array={ {a,b,c}, {d,e,f}, {g,h,y} }; 试试- $one=explode("|",$String); $array = array(

在php中将字符串转换为多维数组时遇到问题。这是我的字符串:

$String = a,b,c|d,e,f|g,h,y|
这就是我正在尝试的:

$one=explode("|",$String);
foreach ($one as $item)
{
    $one=explode(",",$one);
}
我要创建此阵列:

$array={ {a,b,c}, {d,e,f}, {g,h,y} };
试试-

$one=explode("|",$String);
$array = array();
foreach ($one as $item){
    $array[] = explode(",",$item);
}
使用此代码

$String= 'a,b,c|d,e,f|g,h,y|';

$one=explode("|",$String);

print_r(array_filter($one));
输出将是

Array
(
    [0] => a,b,c
    [1] => d,e,f
    [2] => g,h,y
)
请尝试以下代码:

$string = 'a,b,c|d,e,f|g,h,y|';
$arr = array_map(function($iter){ return explode(',',$iter);},explode('|',$string));
希望对你有所帮助。

试试这个-

$String = 'a,b,c|d,e,f|g,h,y|';

$one = array_filter(explode("|", $String));

print_r($one); //Array ( [0] => a,b,c [1] => d,e,f [2] => g,h,y ) 

$result = array_map('v', $one);

function v($one) {
    return explode(',',$one);
}

print_r($result); // Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => d [1] => e [2] => f ) [2] => Array ( [0] => g [1] => h [2] => y ) )

你几乎做对了,除了循环部分。试试这个

$result = [];
$String = 'a,b,c|d,e,f|g,h,y|';

$firstDimension = explode('|', $String); // Divide by | symbol
foreach($firstDimension as $temp) {
    // Take each result of division and explode it by , symbol and save to result
    $result[] = explode(',', $temp);
}

print_r($result);

这只是一个打印阵列和一个暗阵列,而不是两个,而且您没有拆分“,”谢谢你的帮助,但我需要的不是你上面写的,你可以再次检查我的问题,输出是不同的,很抱歉,我不知道为什么它在我第一次做的时候不起作用,它的工作可能我在那时候犯了一个错误,谢谢你