メジャーアップデートされたPHP8.0では、新しい処理分岐の式、matchが追加されました。
もともとswitch文がありますが、ちがいは結果を返すこと。戻り値として使えるし、そうなら当然、変数に結果を代入することもできます。
switchは『文』にたいしてmatchは『式』だからできること。
続きを読むWebのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。
今は、1回目のマイナーアップデートが行われPHP8.1です。
そのPHP8で困っている人のために情報を発信します。
メジャーアップデートされたPHP8.0では、新しい処理分岐の式、matchが追加されました。
もともとswitch文がありますが、ちがいは結果を返すこと。戻り値として使えるし、そうなら当然、変数に結果を代入することもできます。
switchは『文』にたいしてmatchは『式』だからできること。
続きを読むPHP8.1でついにファイルへの書き込みを強制する関数 fsync() が追加されました。
『いや、fwrite()があるよね?』と思った人は、半分正解で半分不正解。
ファイルの同期については、プログラムからどうやってファイルが操作されるのかの知識が必要です。
続きを読むPHP8.1から配列か連想配列かを判定する関数が追加されました。array_is_list()。
PHP公式ドキュメントでは、要素がない(0から始まる連番の要素)のことをリストと呼んでいます。
この関数は配列がリストかどうかを判定し true or false を返す。
続きを読むPHP8.1にNever型が追加されました。読んで字の如し。この型を宣言した関数はPHPプログラムの処理が必ず終了することを指します。
終了は『関数で終わらせる』『例外をスローする』『無限ループ』の3つ。
ん? 無限ループもですか? ってかんじ。これ引っかかる人多いんじゃないかな?
続きを読む配列のマージには、array_merge() 以外に、'...' を使った方法もあります。
それは数値の配列キーにしか対応してなかったんですが、PHP8.1から文字列のキーも使えるようになりました。
この配列のマージのことを『配列のアンパック』と言います。また一般的にはスプレッド構文・スプレッド演算子と呼ばれる。
続きを読むKUSANAGI 8でもPHP8.0が使えるということでバージョンアップしたのですが、テーマやプラグインのアップデートで必ずパスワード不一致エラーが出るようになりました。
SSHを使えば問題なかったし、最初はPHPエラーの場所がどうしようもなかったので、これくらいはいいかなと放置していたものです。
続きを読む