PHP8では数値文字列の考え方が変わり、判定で後ろ空白がtrueを返すようになりました。
前の空白はOKなのに、なんで後ろ空白はダメなのか? 不思議に思っていた人にとってはひとつモヤモヤが解消されます。
具体的にはis_numeric()の判定結果が変わります。
続きを読むWebのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。
最初のバージョンがPHP8.0です。7系から8系の移行もあって変更点も多い。
そのPHP8.0で困っている人のために情報を発信します。
PHP8では数値文字列の考え方が変わり、判定で後ろ空白がtrueを返すようになりました。
前の空白はOKなのに、なんで後ろ空白はダメなのか? 不思議に思っていた人にとってはひとつモヤモヤが解消されます。
具体的にはis_numeric()の判定結果が変わります。
続きを読むPHP8では、配列やクラスオブジェクトの算術演算、ビット演算で型チェックが厳しくなりました。
警告だったものがエラーになります。
PHP8はデータの厳格化がポイントなので演算にも影響します。
『そんな計算ないわー』と思っていた人にとっては当たり前の話。
続きを読むPHP8では、内部関数のパラメータの型が厳格になりました。(戻り値も。)
厳格とは、『今までは適当でも動かしてたけど、これからはエラーを返すよ?』ということ。
PHP8はデータの厳格化がポイントなのでその一環。
曖昧さを許さないプログラミングをしていた人にとっては当たり前の話です。
続きを読むPHP8では名前付きパラメータ(引数)が使えるようになりました。関数呼び出しのパラメータの順番が無視できるようになります。
とくに、デフォルト値が指定されたパラメータを使うときに便利。
PHP8はデータの厳格化がポイントになってるんですがその一環です。
続きを読む