1. ホーム

エラーです。関数の戻り値を書き込みコンテキストで使用できません 解決策

2022-02-25 08:23:17

これは、ThinkPHP5フレームワークを使用して開発された、最近のプロジェクトで遭遇した問題です。関数を書いてテストした後、"Can't use function return value in write context"というエラーが表示されるのです。最初はコードの問題かと思い、コードをよく確認し、翻訳してみると、本来の意味は「このシナリオでは関数の戻り値を使用できない」ということでした。なんて悲しい話なんだろうと思いながら、行ってきました。

以下はエラーのスクリーンショットです。

意味がわかったので、修正するのはもっと簡単です。

解決策1:Empty()は変数を使用します。

  1. 次の行を置き換えます。
  2. empty(Cache::get($cache_key))
  3. に変更します。
  4. $temp_cache = Cache::get($cache_key);
  5. empty($temp_cache)

細かい注意点

エラーです。Can't use function return value in write context solution (関数の戻り値を書き込みコンテキストで使用できない)

これは、ThinkPHP5フレームワークを使用して開発された、最近のプロジェクトで遭遇した問題です。関数を書いてテストした後、エラー "Can't use function return value in write context" が表示されるのです。最初はコードの問題かと思い、コードをよく確認し、翻訳してみると、本来の意味は「このシナリオでは関数の戻り値は使えない」ということでした。なんてこった、なんて悲しい話なんだ

以下はエラーのスクリーンショットです。

意味がわかったので、修正するのはもっと簡単です。

解決策1:Empty()は変数を使用します。

  1. 次の行を置き換えます。
  2. empty(Cache::get($cache_key))
  3. に変更します。
  4. $temp_cache = Cache::get($cache_key);
  5. empty($temp_cache)

細かい注意点 PHP 5.4 未満のバージョンでは empty(), is_array() のような関数は戻り値を直接判断することができません。 であり、変数としてのみ記述することができます。

対処法2:PHPのバージョンをアップする。

ローカルのPHPStudyのphp5.4を確認し、5.6にバージョンアップしたところ、エラーはなくなりました。現在、PHPの最新バージョンは7.2で、パフォーマンス、サポートともに良好なので、プロジェクト開発では安定した高バージョンを使用することもおすすめします。

以上、Boboプロジェクトで遭遇した落とし穴と解決策をご紹介しましたが、必要な方のお役に立てれば幸いです。

変数として書き込むしかない。

解決策2:PHPのバージョンをアップする。

ローカルのPHPStudyのphp5.4を確認し、5.6にバージョンアップしたところ、エラーはなくなりました。現在、PHPの最新バージョンは7.2で、パフォーマンス、サポートともに良好なので、プロジェクト開発では安定した高バージョンを使用することもおすすめします。

以上、Boboプロジェクトで遭遇した落とし穴と解決策をご紹介しましたが、必要な方のお役に立てれば幸いです。