ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

中級者 - PHP8の技術情報

Webのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。

今は、1回目のマイナーアップデートが行われPHP8.1です。

そのPHP8について情報を発信します。

自分で情報を探しながらやっても、なかなかスムーズに答えにたどりつかない人向けです。

経験が足りないだけで、遅かったり、失敗しても自信をなくさなくていいです。いまは大きくなるために、技術を知って試す時期なので。

むしろたくさん悩んで、フリーズして、失敗してください。気がついたら最適な答えを出す力が自然と身についているでしょう。

PHP8, match式の追加。switchとちがって変数に代入可。

php

メジャーアップデートされたPHP8.0では、新しい処理分岐の式、matchが追加されました。

もともとswitch文がありますが、ちがいは結果を返すこと。戻り値として使えるし、そうなら当然、変数に結果を代入することもできます。

switchは『文』にたいしてmatchは『式』だからできること。

続きを読む

PHP8.1, array_is_list, 配列か連想配列か判定する関数

php

PHP8.1から配列か連想配列かを判定する関数が追加されました。array_is_list()。

PHP公式ドキュメントでは、要素がない(0から始まる連番の要素)のことをリストと呼んでいます。

この関数は配列がリストかどうかを判定し true or false を返す。

続きを読む

PHP8.1, never型, PHPプログラムが終了することを示す。関数やメソッド専用の型

php

PHP8.1にNever型が追加されました。読んで字の如し。この型を宣言した関数はPHPプログラムの処理が必ず終了することを指します。

終了は『関数で終わらせる』『例外をスローする』『無限ループ』の3つ。

ん? 無限ループもですか? ってかんじ。これ引っかかる人多いんじゃないかな?

続きを読む

PHP8.1, アンパックがarray_merge()とまったく同じものになる。

php

配列のマージには、array_merge() 以外に、'...' を使った方法もあります。

それは数値の配列キーにしか対応してなかったんですが、PHP8.1から文字列のキーも使えるようになりました。

この配列のマージのことを『配列のアンパック』と言います。また一般的にはスプレッド構文・スプレッド演算子と呼ばれる。

続きを読む

PHP8, 戻り値の型で使う static型ってなんだ? ネーミングがややこしくない?

php

PHP8では、クラスのメソッドの戻り値でしか使えないstatic型というものが追加されました。

一応、ドキュメントの説明でなんとなくは分かりましたが、いくつか気になるところが。

何をするもので、何ができないのかを見ていきます。

そしてややこしい。'static' というワード使いすぎ。PHPは。

続きを読む