字符串转换为数组PHP

字符串转换为数组PHP,php,arrays,string,Php,Arrays,String,我想把字符串转换成多维数组 我在网上找到了很多答案,但他们希望你有数组键等等 我的字符串: 用户标识\n234234\n20053\n19928\n16325 我试过通常的方法: $arr= array(); $arr = explode("\n", $string); 我也试过了 $arr[] = explode("\n", $string); 但结果总是这样: array(5) { [0]=> string(7) "UserIds" [1]=> strin

我想把字符串转换成多维数组

我在网上找到了很多答案,但他们希望你有数组键等等

我的字符串:

用户标识\n234234\n20053\n19928\n16325

我试过通常的方法:

$arr= array();
$arr = explode("\n", $string);
我也试过了

$arr[] = explode("\n", $string);
但结果总是这样:

array(5) { 
    [0]=> string(7) "UserIds" 
    [1]=> string(6) "234234" 
    [2]=> string(5) "20053" 
    [3]=> string(5) "19928" 
    [4]=> string(5) "16325" 
} 
我的预期结果:

array(5) { 
    [0]=> array(1) { [0]=> string(7) "UserIds" } 
    [1]=> array(1) { [0]=> int(234234) } 
    [2]=> array(1) { [0]=> int(20053) } 
    [3]=> array(1) { [0]=> int(19928) } 
    [4]=> array(1) { [0]=> int(16325) } 
}

一种方法是使用映射响应并将项包装到数组中:

$string = "UserIds\n234234\n20053\n19928\n16325";
$arr = array_map(function($x){return [$x];}, explode("\n", $string));
print_r($arr);

添加一个is_数字测试以过滤掉数字,以便将其转换为int类型。这在PHP中并不重要,这正是我想要的。很好用!当然,explode不会生成任何您可以想象的任意数据结构。第一个结果是这里所期望的。你展示的第二件事可能是你想要的,但提供这样的东西不是explode的工作。如果需要,必须自己相应地变换分解结果。