2017-05-10 5 views
1

Ich habe eine Textdatei mit PHP explodiert. Mein Ziel ist es, jede Saite gegen einen Wert zu überprüfen, und wenn dieser Wert in dem „Explosions Zeichenfolge“ existiert dann den Wert zuweisen:Wie überprüft man alles PHP explodieren für String

Wert Ich stehe Überprüfung: „AM, B, L, PM“ Ziel Wandeln Sie alle explodierte Saiten "AM, B, L, PM" zu diesem "AM, B, L"

Pseudo-Logik:

if ($pieces[2] = "AM,B,L,PM") 
{ 
    $pieces[2] = "AM,B,L" 
} 

der obige Code funktioniert für einen einzelnen $ pie ces [2], aber ich will alle $ Stücke zu überprüfen, Stücke $ [3], $ Stücke [4], $ Stücke [5]

Bitte geben

+0

Ruft eine FOR-Schleife irgendwelche Glocken? – RiggsFolly

+0

@RiggsFolly dumme Frage, aber könnten Sie mir zeigen, wie – Mike113

+7

Ja. Es gibt diesen ___very sehr geheimen Ort, an dem du diese Dinge nach oben sehen kannst___ [Es heißt das Handbuch] (http://php.net/manual/en/control-structures.for.php) ___Ssshhhhhh erzähl niemandem davon___ – RiggsFolly

Antwort

1

try this

$l = count($pieces); 

for($x=0;$l<$x;$x++) { 

    if ($pieces[$x] == "AM,B,L,PM") { 
     $pieces[$x] = "AM,B,L"; 
    } 

} 

oder

$l = count($pieces); 

for($x=0;$l<$x;$x++) { 

    $a = preg_replace("/[^a-zA-Z]/", "", $pieces[$x]); 

    if ($a == "AMBLPM") { 
     $pieces[$x] = "AM,B,L"; 
    } 

} 
+0

Eine gute Antwort enthält eine _explanation_, nicht nur "probiere das" (was dem OP nicht hilft zu verstehen, was vor sich geht). –

+0

Ohh Sry Bro, Anyway Thankyou ... – Subi

+0

Sie müssen 2 '==' im 'if' (Vergleich) und eins' = 'wenn Sie den Wert setzen. Jetzt stellst du eigentlich nichts ein. –

0

könnte Sie Schleife Ihr Array mit einem foreach, und wenn Ihr Zustand true ist, zuordnen Wert auf das ursprüngliche Array und schließlich transformieren Sie Ihr Array in einem string wieder.

foreach ($pieces as $key => $piece) { 
    if (trim($piece) == "AM,B,L,PM") { 
     $pieces[$key] = "AM,B,L"; 
    } 
} 

// In the first parameter you put the delimiter you used to explode the string 
$string = implode(' ', $pieces); 
0

$ string = str_replace ('AM, B, L, PM', 'AM, B, L', $ Stück);

echo $ string [370];

Gelöst. Vielen Dank an alle