Warning: count(): Parameter must be an array or an object that implements Countable in …
count()の引数は配列またはCountableを実装したオブジェクトでなければなりません。
厳格化が進んでいますねー。ユルさが売りのPHP、だったんじゃないのー?
例えば下記を実行すると、
echo count(null);
PHP7.2より前のバージョンでは
0が出力され、警告等は出ません。
PHP7.2以降では
Warning: count(): Parameter must be an array or an object that implements Countable in …と、警告が出ます。
他所様の記事内の対処法は、isset などを if 文で使おう的な感じですが、下記のように array キャストしたほうがスッキリすると思われます。
echo count((array) $nanika);
これだと変数が未定義だと注意されますが、それはキャスト云々とは無関係なりよ。
変数は定義されている前提のお話しでぃす(*´ω`*)