2017-02-02 3 views
0

Dies ist einige DatenPHP Wie trimmen, trunc, komplexe Daten

Fall 1 "(" 2017.02.02 21.15.00" , 201,1, "E.CO-PUAS kajang/AC PANEL ETS "16977,00000)" Fall 2 "(" 2017.02.02 21.15.00" , 201,6, "SPAREN 6")“

Im erforderlichen Daten zu extrahieren, ohne "(, zu speichern, in 5 variable

$date = "2017-02-02 21:15:00"; 

$code = 201; 

$id = 1; 

$name = "E.CO-PUAS KAJANG/AC PANEL ETS"; 

$value = 16977.00000; 

Hinweis: einige Fälle wie Fall 2 ohne Rückkehr-Wert und auf 0 gesetzt

Bitte zeigen Sie mir einige Beispiele oder Tipps. Ich fand Tutorial trimmen, aber es trimmen nur einmal

ich eine Ausgabe wie diese

echo $date; 

echo $code; 

echo $id; 

echo $name; 

echo $value; 
+1

Lesen Sie über die folgenden Funktionen: ** explode ** und ** str_replace **. Sollte nach dem Lernen leicht sein. –

+0

Und 'trim ($ str, '()')' zum Entfernen der '(' & ')' – JustOnUnderMillions

+0

Kann Ihr '$ name' Feld möglicherweise Kommas und/oder Anführungszeichen enthalten? Wenn ja, wird es etwas schwieriger. – Phylogenesis

Antwort

0

ändern Antwort wird schreiben wollte bessere Daten zu handhaben ... plus das sieht viel kürzer.

$str='("2017-02-02 21:15:00",201,1,"E.CO-PUAS KAJANG/AC PANEL ETS",16977.00000)'; 
$data=trim($str,'()'); 
$data_array=str_getcsv($data); 

$date = $data_array[0]; 

$code = $data_array[1]; 

$id = $data_array[2]; 

$name = $data_array[3]; 

if($data_array!='') 
    $value = $data_array[4]; 
else 
    $value= 0; 
+0

Vorsicht vor den Randfällen, die ich in meinem Kommentar erwähnt habe. Wenn das 'name'-Feld Kommas enthalten kann, bricht dieser Algorithmus zusammen und Sie müssen wahrscheinlich auf einen geeigneten Parser zurückgreifen. – Phylogenesis

+0

hmm. in diesem Fall vielleicht getcsv ist der Weg zu gehen? – Dimi

+0

Ja, ['str_getcsv()'] (http://php.net/manual/en/function.str-getcsv.php) sollte die meisten, wenn nicht alle möglichen Probleme behandeln. – Phylogenesis