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

PHP

PHPの無名関数とクロージャは同じ扱い。元々そう思ってる人は多いけど。

php

PHPでは無名関数とクロージャは同じものとして扱っています。無名関数の返すオブジェクトはClosureクラス。

これを見てもちがいはありません。

PHP公式ドキュメントを見ても、無名関数の説明の大半はクロージャについてで、無名関数のことを『クロージャ』と表現する箇所が多いです。

続きを読む

PHP extract, 変数展開で超便利。だけど注意点がいっぱいの関数

php

PHPには、連想配列から値の入った変数を一気に作る関数 extract() があって便利なんですが、注意するところがいくつもあります。

便利だからといって気軽に使って良いものではありません。コーディング規約によっては使うだけでエラーになるものもあります。

そんな extract() 使用の注意点を見ていきます。

続きを読む

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

php

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

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

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

続きを読む

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

php

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

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

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

続きを読む