PHP 7でアプリを起動した時の警告の対処方法です。
Warning 警告の意味、原因
PHPの以下のWarning 警告が発生しました。
Warning: count(): Parameter must be an array or an object that implements Countable in xxx.php
PHP7.2 で count() 関数に関して以下の仕様変更があったことが原因です。
・http://php.net/manual/ja/function.count.php
count() will now yield a warning on invalid countable types passed to the array_or_countable parameter.
count()は、無効な配列や値に対して警告出すようになりました。
In PHP 7.2.0
count(NULL) returns a warning:
Warning: count(): Parameter must be an array or an object that implements CountableIn previous versions:
count(NULL) returned 0 without any warnings.
以前は、count(NULL)に対して0を返していたが、PHP7.2からwarningを表示するようになりました。
対処方法 解決方法
こういうケースなら
1 2 3 |
if(count($sample) > 0){ 処理実行 } |
以下のようにisset() 関数を使って値が存在するかどうかを確かめてみるとよいでしょう。
1 2 3 |
if(isset($sample) and count($sample) > 0){ 処理実行 } |
Warningを非表示にする方法
Warningを非表示にする方法は以下の通りです。
・https://urashita.com/archives/34929#Warning-2
コメント