2017-01-17 1 views
2

Ich habe diese Saite:prüfen, ob ein String enthalten einen beliebigen Text

$mystring = "SIZE,DETAIL"; 

Und ich bin mit:

@if (strpos($mystring, 'SIZE')) 
     {{ $item->size }} 
@endif 
@if (strpos($mystring, 'DETAIL')) 
     {{ $item->detail }} 
@endif 

Aber das funktioniert gut mit der Größe, aber nicht mit DETAIL.

Was ist das Problem hier?

+0

Vielleicht http://php.net/manual/en/function.preg-match.php versuchen - und wich Laravel-Version tun Sie wirklich benutzen? –

Antwort

1

Diese Funktion Boolean FALSE zurückgeben , kann aber auch einen nicht-booleschen Wert zurückgeben, der FALSE ergibt.

Try this:

@if (strpos($mystring, 'SIZE') !== false) 
    {{ $item->size }} 
@endif 
@if (strpos($mystring, 'DETAIL') !== false) 
    {{ $item->detail }} 
@endif 

verweisen: http://php.net/manual/en/function.strpos.php

+1

von ‚Nicht-Booleschen Wert, der falsch ergibt‘ er bedeutet 0, was passiert, wenn die Zeichenfolge, die Sie für den Start an der Position 0 der Suche sind – Cashbee

+0

Diese Funktion Boolean FALSE zurückgeben kann, sondern auch einen nicht-Booleschen Wert, der zu FALSE ausgewertet wird zurückkehren . Bitte lesen Sie den Abschnitt über Boolesche Informationen für weitere Informationen. Verwenden Sie den Operator ===, um den Rückgabewert dieser Funktion zu testen. siehe: http://php.net/manual/en/function.strpos.php – mith

+0

Ich habe erkannt, aber, dass es keinen Sinn macht, dass es auf ‚Größe‘ funktioniert, aber es tut auf ‚Detail‘. es sollte :) – Cashbee

-1

Bei Verwendung von strpos müssen Sie mit FALSE vergleichen. Ein Beispiel für den Blade-Code wäre:

@if (strpos($mystring, 'SIZE') !== FALSE) 
     {{ $item->size }} 
@endif 
@if (strpos($mystring, 'DETAIL') !== FALSE) 
     {{ $item->detail }} 
@endif 

Wenn jedoch Laravel verwenden, können Sie str_contains($haystack, $needles) statt strpos verwenden können.

3

Da Sie Laravel verwenden, können Sie str_contains() Helfer verwenden:

@if (str_contains($mystring, 'SIZE')) 

Die str_contains Funktion bestimmt, ob die angegebene Zeichenfolge enthält den angegebenen Wert

Verwandte Themen