PHPの変数の型をデバッグするのに gettype() を使いますが、PHP8.0 ではさらに分かりやすく表示する get_debug_type() が追加されました。
これらの関数は文字列で型名を返すので型のチェックには使えません。
その勘違いをなくすために関数名に 'debug' が入ってます。
続きを読むWebのサーバーサイドでよく使われるプログラム言語のPHP。
そのPHPで困っている人のために情報を発信します。
PHPの変数の型をデバッグするのに gettype() を使いますが、PHP8.0 ではさらに分かりやすく表示する get_debug_type() が追加されました。
これらの関数は文字列で型名を返すので型のチェックには使えません。
その勘違いをなくすために関数名に 'debug' が入ってます。
続きを読むPHP8.0で、部分文字列を扱う関数が3つ追加されました。
str_contains(), str_starts_with(), str_ends_with() 。
この3つの関数じゃなくても比較的かんたんに同じ処理が書けるんですが、あえて新関数が用意されました。
続きを読む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()と同じで、ただクラス名の文字列を返すだけのなんの見栄えもないですが。
続きを読む