我有一个字符串,其中包含用逗号分隔的数字.数字和逗号之间可能有也可能没有空格.我想将它转换为数组,我可以使用以下代码:
$string = '1, 2,3,';
$array = explode(',', $string);
Run Code Online (Sandbox Code Playgroud)
但是,附加的不规则空格会进入数组值,最后一个逗号会导致空索引(请参见下图).
我如何删除它,以便我只得到没有空格的干净值和数组中的最后一个空索引?
简单地使用array_map,array_filter并explode像
$string = '1, 2,3,';
print_r(array_map('trim',array_filter(explode(',',$string))));
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Run Code Online (Sandbox Code Playgroud)
说明:
首先,我使用explodePHP函数将字符串拆分为数组
print_r(explode(',',$string));
Run Code Online (Sandbox Code Playgroud)
结果成了
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] =>
)
Run Code Online (Sandbox Code Playgroud)
所以我们需要使用array_filterlike as 删除那些空值
print_r(array_filter(explode(',',$string)));
Run Code Online (Sandbox Code Playgroud)
结果成了
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Run Code Online (Sandbox Code Playgroud)
现在,最后一部分需要一个删除(extra space)从值使用array_map随trim
print_r(array_map('trim',array_filter(explode(',',$string))));
Run Code Online (Sandbox Code Playgroud)
最后,我们已经实现了我们正在寻求的部分,即
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Run Code Online (Sandbox Code Playgroud)