2017-01-03 2 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); 

ИЛИ

$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 я не является нисходящим –

+2

Я тоже. Мне просто было интересно, чтобы наш код был настолько похожим :) –

2

Мы сделали это

, пожалуйста, попробуйте ниже co де. работающ отлично. я проверил.

$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);