PHP Warning: count(): Parameter must be an array or an object that implements Countable in

php
スポンサーリンク

 

環境

 

  • php7.2

 

事象

 

error_logに、以下のワーニングが出力される。

PHP Warning: count(): Parameter must be an array or an object that implements Countable in

 

原因

 

以前までのバージョンのphpでは、

配列(NULL)

は0を返していたが、

 

php7.2からは、

ワーニングを出すよ。

 

配列または、カウントできるObjectじゃないとだめだよ。

 

とのこと。

 

対応

 

配列か、カウントできるObjectの場合のみ処理するようにif文を追加した。

 

if(is_array(変数){

    処理

}

 

参考にしたサイト

WordPressでcount():phpの警告が出てきた。PHP7.2での仕様変更が原因かも。Warning: count(): Parameter must be an array or an object that implements Countable in 【ファイルパス】/wp-includes/post-template.php on line 284
Warning: count(): Parameter must be an array or an object that implements Countable in 【ファイルパス】/wp-includes/post-templ
PHP7.2のcountにハマった話 - Qiita
最近、開発環境のPHPのバージョンを5.6→7.2に変更しました。PHP5.6 + CakePHP3 + Apache2.2のECサービスからAMP並のTTFBを実現するまでこちらの記事にあるよ…

 

 

 

 

コメント