从数组值中删除空格

sam*_*sam -3 php arrays

我有一个字符串,其中包含用逗号分隔的数字.数字和逗号之间可能有也可能没有空格.我想将它转换为数组,我可以使用以下代码:

$string = '1, 2,3,';
$array = explode(',', $string);
Run Code Online (Sandbox Code Playgroud)

但是,附加的不规则空格会进入数组值,最后一个逗号会导致空索引(请参见下图).

在此输入图像描述

我如何删除它,以便我只得到没有空格的干净值和数组中的最后一个空索引?

Nar*_*dia 8

简单地使用array_map,array_filterexplode

$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_maptrim

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)

演示

  • 如果你解释你做了什么会更好,因为看起来OP对这个功能并不太熟悉.简单回答BTW +1.:) (2认同)