Laravel Blade: 문자열을 객체와 비교
P粉797855790
2023-09-01 21:44:49
<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;">메서드 IlluminateSupportCollection::__toString()은 문자열 값을 반환해야 합니다</pre>
<p>무엇이 잘못되고 있는지 또는 이것이 라라벨/브라우저 관련 문제인지 알 수 없습니다. </p>
<p>PHP v7.4.22, 라라벨 v6.0</p>
위 질문에 따르면, 변수에 주어진 값이 설정되어 있는지 확인하고 싶으신 것 같습니다. 귀하의 경우에는 @if(isset($a_string_name))을 사용해 보세요.
우리는 일반적으로 두 가지 PHP 메서드를 사용하여 변수를 확인합니다.
PHP에 변수가 정의되어 있는지 어떻게 확인하나요? isset() 함수는 변수가 설정되어 있는지 확인합니다. 즉, 변수가 NULL이 아닌 선언되어야 함을 의미합니다. 이 함수는 변수가 존재하고 NULL이 아니면 true를 반환하고 그렇지 않으면 false를 반환합니다.
주어진 변수가 비어 있는지 확인하는 방법은 무엇입니까? empty() 함수는 변수가 비어 있는지 확인합니다. 이 함수는 변수가 존재하고 비어 있지 않으면 false를 반환하고, 그렇지 않으면 true를 반환합니다. 다음 값은 null로 평가됩니다: 0.
도움이 되기를 바랍니다.