ブログを検索

2022/04/14

php7.2 で count の挙動が変わっていた・・・

xserver というレンタルサーバーで cron 設定しようとしたら php のバージョンが選べるようになっていたのでテキトーに php7.4 を選びました。

しかし、php のプログラムを動かすと今までは出なかった Warningが出まくりです。

Warning: count(): Parameter must be an array or an object that implements Countable in test.php on line 10


今更なんですが昨年頑張って php5.6 から php7.1 に対応するよう修正してきたのにまた修正箇所が出てきました・・・

SELECT * FROM table_name;
などどやって DBから取得した $data というデータを
for( $i=0 ; $i < count( $data ) ; $i++ ){
}
とやるのはよくあるんですが、php7.2以降、count はカウンタブルで無い場合 Warning になるようで動くことは動くけどうざったいし実行速度にも影響がでそうです

で、下記のようにすると Warning は出なくなるけど修正箇所が全部で100ヶ所近く有ってもうダメだ思案中・・・

( is_array ($lretc) ) ? $count_data = count( $data ): $count_data = 0;

for( $i=0 ; $i < $count_data ; $i++ ){


0 件のコメント:

コメントを投稿

MySQL で SELECT into outfile 出来なくてハマった件

 Windows上の MySQL で SELECT into outfile で CSVファイルをエクスポートしようとしてハマったので残しておく 環境 Windows10 Pro バージョン 1809 MySQL 8.4.0 という環境で SELECT * FROM table1...