ブログを検索

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 件のコメント:

コメントを投稿

クルマに付けてる第一電波の電動アンテナ基台 K9000 がアンテナ寝たままで起きなくなった💦 幸いなことに起きたまま寝なくなるんじゃなく寝たまま起きないので車庫入れは大丈夫 いつもの無線屋さんで相談したらソッコーで基台の殻割って直してもらえた どうやら接点が腐食して接触不良だっ...