我有一个字符串1,2,3,4,5
我将其转换为PHP数组:$arr = explode(',', $myString);
然后我想从我的新阵列中回应它们:
foreach ($arr as $value) {
echo $value;
}
问题 - 出于某种原因,它在我的阵列开头添加了空格!因此,我们的值为1
而不是1
,而且前面有空格。
为什么会这样,我怎么能摆脱它?
答案 0 :(得分:4)
如果您的字符串在开头或结尾包含空格,则可能会发生这种情况。 explode()
函数只会在给定的分隔符上拆分字符串,并且不会神奇地处理空格。您可以使用array_map()
修剪所有数组元素的空白:
$arr = explode(',', $myString);
$arr = array_map('trim', $arr);
或者您可以在使用正则表达式explode()
之前替换空格(或str_replace()
,具体取决于具体情况):
$myString = ' 1,2,3,4,5 ';
$myString = preg_replace('/\s+/', '', $myString);
这将删除所有空格,字符串只包含数字和逗号(假设这就是你想要的)。
答案 1 :(得分:1)
字符串开头可能有空格。
无论如何,您可以使用trim()
:
foreach ($arr as $value)
{
echo trim($value);
}
或者您可以在爆炸点使用它:
$arr = explode(',', trim($myString));