搜尋

首頁  >  問答  >  主體

Laravel Blade:比較字串與對象

<p>在將物件與 Laravel 刀片檔案中的字串進行比較時,我遇到了一個奇怪的問題。 </p> <p>我有一個變量,可以是字串(“N/A”)或對象,取決於資料庫查詢的結果,並且我有以下條件檢查:</p> <pre class="brush:php;toolbar:false;">@if ($a_string_name == 'N/A')</pre> <p>如果傳回一個對象,則對大多數使用者來說,此條件將會失敗並繼續執行 else 語句。 </p> <p>但對於一種特定情況(我沒有足夠的資訊來說明如何重現此情況),此條件會引發錯誤:</p> <pre class="brush:php;toolbar:false;">Method Illuminate\Support\Collection::__toString() must return a string value</pre> <p>我無法弄清楚出了什麼問題,或者這是否是 laravel/瀏覽器特定的問題。 </p> <p>PHP v7.4.22、laravel v6.0</p>
P粉797855790P粉797855790483 天前579

全部回覆(1)我來回復

  • 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。

    希望這對您有幫助。

    回覆
    0
  • 取消回覆