PHP7.2のcount関数の変更点
Warning (2): count(): Parameter must be an array or an object that implements Countable
PHP5.6などでphp7.2にバージョンアップを行うとcount関数がWarningを出すことがある。
これは仕様が変わって、countの引数は配列、オブジェクトではないといけなくなったからだ。
よくある想定としては、falseやnullをこれまでは0とカウントしてくれていたものが、エラーを吐くようになったという感じ。
配列やオブジェクトか判別をさせる、またはNULLやFALSEでif文を書いてあげれば回避ができる。
if(!$data){
$count = 0;
}else{
$count = count($data);
}
このようにすればNULやFALSEのときは0になり、それ以外はcountを利用して数を出すことができる
https://qiita.com/masaki-ogawa/items/1671d110b2286ececd09
タグ: PHP