2016-06-03 4 views
0

Ich verwende die folgenden einige Versandmethoden zeigen:String pos in PHP funktioniert nicht

foreach ($this->shipments_shipment_rates as $shipment_shipment_rates){ 
    if(is_array($shipment_shipment_rates)) { 
     foreach ($shipment_shipment_rates as $shipment_shipment_rate) { 
echo str_replace('name="virtuemart_shipmentmethod_id"', 'name="virtuemart_shipmentmethod_id" onclick="return ProOPC.setshipment(this);"', $shipment_shipment_rate); 
      echo '<div class="clear"></div>'; 
     } 

Nun, wenn vor dem ersten Echo i ein, wenn die Bedingung wie folgt machen:

$myvariable = echo str_replace('name="virtuemart_shipmentmethod_id"', 'name="virtuemart_shipmentmethod_id" onclick="return ProOPC.setshipment(this);"', $shipment_shipment_rate); 
if (strpos ($myvariable, 3) !== false) { 
    echo "I found my shipping method" 
} 

Dann es ist wie die Strophe immer wahr. Auch wenn innerhalb von $ myvariable der Wert 3 liegt. Irgendwelche Ideen?

Auch kann ich zum Beispiel verstecken eine Versandart, indem Sie diese:

If(my_condition_with_strpos) { 
    echo '<div style="display:none;">' . str_replace('name="virtuemart_shipmentmethod_id"', 'name="virtuemart_shipmentmethod_id" onclick="return ProOPC.setshipment(this);"', $shipment_shipment_rate) . '</div>' 
} 

Danke im Voraus

+2

Warum scannen Sie dafür? wäre die Versandmethode nicht irgendwo in einer Datenstruktur verfügbar, was auch immer verwendet wurde, um diesen HTML-Code zu erstellen? –

+0

'$ myvariable = echo str_replace ....' .... warum das Echo? –

+0

Entschuldigung ich benutze die Variable ohne Echo, aber die foreach und die ganze Art der Anzeige ist von einem Plugin und wenn ich das ändere ich muss später das ganze Plugin ändern –

Antwort

1

Sie den Wert 3 als ganze Zahl suchen, sehen Sie folgendes Beispiel:

<?php 
$string = 'asdsad'; 
$myvariable = str_replace('name="virtuemart_shipmentmethod_id"', 'name="virtuemart_shipmentmethod_id" onclick="return ProOPC.setshipment(this);"', $string); 

if (strpos($myvariable, '3') !== false) { 
    echo "I found my shipping method 1"; 
} 
else { 
    echo "Not found 1"; 
} 

$string = '3'; 
$myvariable = str_replace('name="virtuemart_shipmentmethod_id"', 'name="virtuemart_shipmentmethod_id" onclick="return ProOPC.setshipment(this);"', $string); 

if (strpos($myvariable, '3') !== false) { 
    echo "<br>I found my shipping method 2"; 
} 
else { 
    echo "<br>Not found 2"; 
} 
+0

PHP wird automatisch die ganze Zahl in eine Zeichenfolge konvertieren. – Barmar

+0

Versuchen Sie dieses Beispiel –

+0

Ich versuchte, zu 'strpos ($ myvariable, 3) zu ändern! == false' und hat nicht funktioniert –