このコードを見てください:
リーリー PHP 7.2
を使用していたときは正常に動作していましたが、8.1
にアップグレードすると次のエラーが発生します:
PHP 致命的エラー: キャッチされない TypeError: array_shift(): 引数 #1 ($array) は配列型である必要があります。/path/to/qanda.php に null が指定されています:469
それを修正する方法はありますか?
P粉2370294572024-02-26 19:37:09
最も基本的な解決策は、型の要件に一致するように null
値を空の配列に置き換えることです。
配列を作成し、
$newvar で
null 合体演算子 を使用することもできます:
しかし、単一の値を持つ配列を作成し、
array_shift の戻り値を使用してループを作成する理由がわかりません。ループ本体は 1 回だけ実行されます。
おそらく条件式を使用するだけでしょうか?
返事0
P粉6961462052024-02-26 18:54:55
空の配列を使用してください:
$end = isset($newvar) ? array($newvar) : [];
array_shift は最初の呼び出しで入力として null
空の配列を返すため、ループは実行されません。