PHP8.0で、特定の文字列から始まる文字列か? 特定の文字列で終わる文字列か?を判定する関数が追加されました。
str_starts_with() と str_ends_with() 。
これまでだったら正規表現を使って判定するところですが、この2パターンの文字列チェックは正規表現なしでできるようになりました。
続きを読むWebのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。
最初のバージョンがPHP8.0です。7系から8系の移行もあって変更点も多い。
そのPHP8.0で困っている人のために情報を発信します。
PHP8.0で、特定の文字列から始まる文字列か? 特定の文字列で終わる文字列か?を判定する関数が追加されました。
str_starts_with() と str_ends_with() 。
これまでだったら正規表現を使って判定するところですが、この2パターンの文字列チェックは正規表現なしでできるようになりました。
続きを読むPHP8.0で文字列の中から部分文字列の存在をチェックする関数、str_contains() が追加されました。
『いや、そんな関数すでにあるでしょ?』と思った人も多いでしょう。
そのとおりで strpos() でまったく同じ処理ができます。しかも、関数名だけがちがうだけと言っていいくらいプログラムコードが似ている。
続きを読むPHP8.0で、2つのfloat型数値を使った除算(割り算)をする関数が追加されました。fdiv()。
PHP7ですでに追加されているintdiv()の小数点版です。結果も浮動小数点で返されます。
でも使い道が思いつかない。'/' の式で十分だし。
続きを読む::class は、'::' が付いても分かるように静的クラス、newでインスタンスを作成しないクラスの専売特許でした。
それが、バージョンアップしたPHP8からクラスオブジェクトでも使えるようになりました。
get_class()と同じで、ただクラス名の文字列を返すだけのなんの見栄えもないですが。
続きを読むPHPはメジャーアップデートで8が登場しました。そこで追加されたのがNullsafe演算子(?->)。
『?』とクラスオブジェエクトのメソッドやプロパティを参照する『->』を足したもの。
Null合体演算子を使いながらメソッドやプロパティを見る使ってるイメージだと分かりやすい。
続きを読むメジャーアップデートされたPHP8.0では、新しい処理分岐の式、matchが追加されました。
もともとswitch文がありますが、ちがいは結果を返すこと。戻り値として使えるし、そうなら当然、変数に結果を代入することもできます。
switchは『文』にたいしてmatchは『式』だからできること。
続きを読む