PHP7.2から、count() (およびそのaliasであるsizeof() )でwarningが出るようになっているので要注意。
http://php.net/manual/en/function.count.php
<?php // $aをちゃんと定義 $a = array( 1,3,5 ); var_dump( count( $a ) ); // $bは空の場合 $b = array(); var_dump( count( $b ) ); // $c を定義しない場合 var_dump( count( $c ) ); var_dump( count(false)); ?>
とすると、出力上は
int(3) int(0) int(0) int(1)
と出るが、errorlogを見ると
[25-Apr-2018 07:26:33 Asia/Yakutsk] PHP Notice: Undefined variable: c in /Applications/MAMP/htdocs/test.php on line 11 [25-Apr-2018 07:26:33 Asia/Yakutsk] PHP Warning: count(): Parameter must be an array or an object that implements Countable in /Applications/MAMP/htdocs/test.php on line 11 [25-Apr-2018 07:26:33 Asia/Yakutsk] PHP Warning: count(): Parameter must be an array or an object that implements Countable in /Applications/MAMP/htdocs/test.php on line 13
と、Warningがでる。
回避するには、 is_array() で判定してから使う(か、@を付けてWarningを隠す。。)。