suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Laravel Blade: String mit Objekt vergleichen

<p>Ich stoße auf ein seltsames Problem, wenn ich ein Objekt mit einer Zeichenfolge in einer Laravel-Blade-Datei vergleiche. </p> <p>Ich habe eine Variable, die abhängig vom Ergebnis der Datenbankabfrage eine Zeichenfolge („N/A“) oder ein Objekt sein kann, und ich habe die folgende bedingte Prüfung: </p> <pre class="brush:php;toolbar:false;">@if ($a_string_name == 'N/A')</pre> <p>Wenn ein Objekt zurückgegeben wird, schlägt diese Bedingung für die meisten Benutzer fehl und die Ausführung der else-Anweisung wird fortgesetzt. </p> <p>Aber für einen bestimmten Fall (ich habe nicht genügend Informationen, um zu sagen, wie ich das reproduzieren kann) löst diese Bedingung einen Fehler aus: </p> <pre class="brush:php;toolbar:false;">Methode IlluminateSupportCollection::__toString() muss einen String-Wert zurückgeben</pre> <p>Ich kann nicht herausfinden, was falsch läuft oder ob es sich um ein laravel-/browserspezifisches Problem handelt. </p> <p>PHP v7.4.22, Laravel v6.0</p>
P粉797855790P粉797855790438 Tage vor534

Antworte allen(1)Ich werde antworten

  • P粉407936281

    P粉4079362812023-09-02 10:10:56

    根据您上面的问题,我认为您想检查给定值是否设置了变量。在您的情况下,请尝试使用@if(isset($a_string_name))

    我们通常使用两种 PHP 方法来检查变量。

    如何检查 PHP 中是否定义了变量? isset() 函数检查变量是否已设置,这意味着该变量必须声明且不为 NULL。如果变量存在且不为 NULL,则该函数返回 true,否则返回 false。

    如何检查给定变量是否为空? empty() 函数检查变量是否为空。如果变量存在且不为空,则该函数返回 false,否则返回 true。以下值计算为空:0。

    希望这对您有所帮助。

    Antwort
    0
  • StornierenAntwort