PHP が「書き込みコンテキストでは関数の戻り値を使用できません」エラーをスローするのはなぜですか?

DDD
リリース: 2024-11-23 16:30:17
オリジナル
452 人が閲覧しました

Why Does PHP Throw a

PHP エラー分析: 「書き込みコンテキストで関数の戻り値を使用できません」について

エラー メッセージ「書き込みコンテキストで関数の戻り値を使用できません」 PHP が関数の戻り値を変数に割り当てたり、ファイルに書き込んだりできないことを示します。このエラーは通常、条件ステートメントで関数の戻り値を直接評価しようとしたときに発生します。

提供された例では:

エラーは 48 行目に表示され、次のようになります。

if (isset($_POST('sms_code') == TRUE ) {...}
ログイン後にコピー

ここで、PHP は次の真実性を評価しようとしています。 isset($_POST('sms_code')) を実行し、結果を TRUE に割り当てます。ただし、 isset() は関数ではなく言語構造体であり、その戻り値はこのコンテキストでは使用できません。

解決策:

このエラーを解決するには、 isset() の戻り値をブール変数に直接代入します:

$sms_code_exists = isset($_POST('sms_code'));

if ($sms_code_exists) {...}
ログイン後にコピー

追加注:

このエラーは、関数の戻り値に空の言語構造を使用した場合にも発生する可能性があります。例:

!empty(trim($someText)) and doSomething()
ログイン後にコピー

このような場合、比較演算子を使用して Trim() の戻り値を評価するのが正しいです:

trim($someText) !== '' and doSomething()
ログイン後にコピー

以上がPHP が「書き込みコンテキストでは関数の戻り値を使用できません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート