2017-01-03 59 views
0

我有此数组:与装饰而不是数组元素删除空白工作

array:4 [▼ 
    0 => "juego de tronos" 
    1 => "tagaryen" 
    2 => "house targaryen" 
    3 => "casa targaryen" 
] 

,我希望得到这样的结果:使用此功能,但没有作品

array:4 [▼ 
    0 => "juegodetronos" 
    1 => "tagaryen" 
    2 => "housetargaryen" 
    3 => "casatargaryen" 
] 

I'm: array_map('trim',$myarray)

+1

装饰从这个,你必须使用循环和更换空间'与“”端删除的空间。 – Deep

+2

[trim()](http://www.php.net/manual/en/function.trim.php) - 从字符串的__beginning__和__end__中去除空格(或其他字符);使用[str_replace()](http://www.php.net/manual/en/function.str-replace.php)从字符串中间删除空格 –

回答

7

trim()只删除开始和结束的空白。你可能想

array_map(function($a){ 
    return str_replace(' ', '', $a); 
}, $myarray); 
2

trim()从两端删除空间,这不是你可以使用循环,并以下列方式取代“与'空间”或使用相同的array_map

array_map(function($variable){ 
    return str_replace(" ", "", $variable); 
}, $myarray); 

OR

$myarray = array(0 => "juego de tronos",1 => "tagaryen",2 => "house targaryen",3 => "casatargaryen"); 
$newarr = []; 
foreach($myarray as $arr) 
{ 
    array_push($newarr,(str_replace(' ', '', $arr))); 
} 
echo "<pre>"; print_r($newarr); echo "</pre>"; 
+3

伟大的思想代码风格一样;) –

+1

看起来像第一个代码是从其他一个完整复制粘贴(甚至变量).BTW我不是downvoter –

+2

我也没有。我只是觉得我们的代码非常相似:) –

2

我们已经完成了这个

请尝试下面的公司德。工作正常。我检查过。

$array1 = array(
      "0" => "juego de tronos", 
      "1" => "tagaryen", 
      "2" => "house targaryen", 
      "3" => "casa targaryen" 
     ); 
     $newArray = array(); 
     foreach ($array1 as $data){ 
      $data = str_replace(" ","",$data); 
      $newArray[]=$data; 
     } 
+0

而不是欣赏一个好的答案,发布一个不好的答案是不是很好。检查最后一个,你会学到新的东西 –

1
$arrayWithSpace = array(
    "juego de tronos", 
    "tagaryen", 
    "house targaryen", 
    "casa targaryen" 
); 

$arrayWithoutSpace = array_map(function($value){ 
    return str_replace(' ', '', $value); 
}, $arrayWithSpace); 

print_R($arrayWithoutSpace);