2016-08-09 33 views
1

trimmen Ich habe ein Array, das einige Wörter enthält. Ich möchte alle Wörter als einzigartigen Teil bekommen. Wenn ich also zu einem Leerzeichen komme, ist es zu einem neuen gebrochen. Ich meine, schließlich will ich etwas wie folgt aus:wie weißen Raum in Array in PHP

$output[0]='Aug', 
$output[1]='20', 
$output[2]='2016' 

zunächst möchte ich es zu explodieren, dann schneiden zwischen den Wörtern. Das ist mein Code, funktioniert aber leider nicht. Aug 20 kommen zusammen. Ich will sie einzeln.

<?php 
$firs_arr=new array(); 
$first_arr='Aug 20, 2016 '; 
$second=explode(',',$first_arr); 
$output=array_map('trim',$second); 
+0

explodieren auf Leerzeichen, nicht Komma. Trim Kommas. – Steve

Antwort

4

den Job Wenn Sie Ihre Quelle $source rufen, dann $result unten wird das Array Sie wollen:

//split into parts separated by all non-word characters 
$result = preg_split('/\W+/',trim($source)); 

Live demo

+1

Sie könnten durch '\ W +' teilen; o/ – Jakumi

+1

@Jakumi danke ich werde die Änderung vornehmen. – BeetleJuice

-1

array_map und trim kann

$trimmed_array=array_map('trim',$first_array); 
print_r($trimmed_array); 
+1

da das schon in der frage steht, sehe ich nicht was diese antwort dazu beiträgt. ; o/ – Jakumi

+0

Eigentlich ist '$ first_arr' eine Zeichenfolge, wenn man genau hinschaut! Dummes Benennen einer Variablen Ich gebe zu – RiggsFolly

1

John John: Sie können eine komplette Array mit allen Informationen von einem bestimmten Zeitpunkt in einem String mit der Funktion date_parse: http://php.net/manual/en/function.date-parse.php

Code:

$first_arr='Aug 20, 2016 '; 
print_r(date_parse($first_arr)); 

Ausgang:

Array ([year] => 2016 [month] => 8 [day] => 20 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array () [error_count] => 0 [errors] => Array () [is_localtime] =>) 
+0

Oo Ich mag diesen. Alles, anstatt das Biest zu laden, das eine Regex-Engine ist, wenn du es nicht brauchst – RiggsFolly

0

Sie können es auch versuchen:

<?php 

function replaceComma($var){ 
    return str_replace(',','',trim($var)); 
} 

$first_arr='Aug 20, 2016 '; 
$second=explode(' ',trim($first_arr)); 
$second=array_map('replaceComma',$second); 
var_dump($second); 

?>