お問い合わせはコチラから

PHP 8.2 Deprecated: Automatic conversion of false to array is deprecatedの直し方

サイト運営

PHP8.2に移行して、更新されていないプラグインから非推奨コードの警告が多数出力されるようになりました。

更新されていないプラグインなので、自分で修正するしかありません。

今回は、Deprecated: Automatic conversion of false to array is deprecated というメッセージの対処方法です。

Deprecated: Automatic conversion of false to array is deprecatedはどんなエラーか?

変数にfalseが入った後で、その変数を配列として使ってはいけない、という内容です。

どんな時に起こるかというと、

$arr= false;
$arr[] = 1;

こんな感じで、false設定した変数をそのあとで、配列として使うと、このメッセージが出ます。

よくあるのが、配列が戻り値となっている関数でfalseが返ってくる場合に、戻り値を格納している変数にfalseが入ったり入らなかったりするので、この問題が起こります。

回避するには?

配列として使う前に、以下のようなコードで初期化してあげればメッセージが消えます。

if(!is_array($arr)) $arr = [];

よくあるコード

PHP8で警告が出るコード

$arrがfalseの時に、$arrを初期化するコードなのだが、一度$arrにfalseが入っているので配列として使えない。

$arr= get_xxxx();
if($arr===false){
$arr[]=xxx;
}

PHP8で警告が出ないように修正

$arrがfalseの時には、一度配列として$arrを初期化してから使うと警告は出ない。

$arr= get_xxxx();
if($arr===false){
$arr=[];
$arr[]=xxx;
}

まとめ

PHP8に移行すると、保守されていないプラグインから非推奨コードが沢山検出されます。

その場合は、自分で修正して、アップデートがきたらその問題は対応されているはずですから、そのまま更新すればいいと思います。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました