PHP不删除空格和显示错误的字符长度


PHP not removing spaces and showing wrong character length

我有一个从数据库检索到的单词数组。它看起来像(var_dump):

$description_array  = array(69) { [0]=> string(3) "Out" [1]=> string(2) "of" .............  [44]=> string(5) " As" .................)

第44个元素" As"在单词前有一段空白。

我试着用

删除这个
foreach($description_array as $value)
{
  $value = str_replace(" ", "", $value);
}

但是这个结果对元素没有影响。我还注意到"a"据说有5个字符。我想它们可能是换行符或其他一些特殊字符,所以我尝试了:

foreach($description_array as $value)
{
  $value = str_replace("'n", "", $value);
}

foreach($description_array as $value)
{
  $value = preg_replace('/'s's+/', '', $value);
}

,但是这两个命令都没有达到预期的结果。有什么想法吗,也许我遗漏了一些简单的东西?

可以使用array_map(),也可以使用trim函数,如下图

$array = array_map('trim',$your_array);
// it wont work if you have sub arrays

或者你可以这样修改你的代码

foreach($description_array as $value)
{
   $arr[] = trim(preg_replace('/'s's+/', '', $value));
}