字符串转换为数组PHP
我想把字符串转换成多维数组 我在网上找到了很多答案,但他们希望你有数组键等等 我的字符串: 用户标识\n234234\n20053\n19928\n16325 我试过通常的方法:字符串转换为数组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
$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的工作。如果需要,必须自己相应地变换分解结果。