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

php7からcount()の扱いが厳しくなり、php5からphp7に引越をするとこのエラーが頻発します。

「count(): Parameter must be an array or an object that implements Countable in」

このエラーの原因はphp5ではcount()は例え結果がnullでも0を返してくれていたのが、エラーになるようになった事。

曖昧だったものが厳しくなったようです。

ですので

count($array)

でphp5までは数えていましたが、php7からはcount()を使う前に

is_countable($array)

をして$arrayがcount出来るかどうかをチェックしてtrueならcount()を使うという一手間が必要になります。

phpは他の言語に比べていままで、変数の型がなあなあでも動いていましたが少しづつ厳しくなるようです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする