アロー関数は '=>' を使った無名関数のもうひとつの書き方です。PHP7.4で追加されました。
'function' がないので、連想配列の変形ですか? みたいに感じますが、慣れるとこっちのほうが分かりやすくなります。
ただし、関数内はreturn式の一行だけという条件付きですが。
続きを読むアロー関数は '=>' を使った無名関数のもうひとつの書き方です。PHP7.4で追加されました。
'function' がないので、連想配列の変形ですか? みたいに感じますが、慣れるとこっちのほうが分かりやすくなります。
ただし、関数内はreturn式の一行だけという条件付きですが。
続きを読むPHPでは無名関数とクロージャは同じものとして扱っています。無名関数の返すオブジェクトはClosureクラス。
これを見てもちがいはありません。
PHP公式ドキュメントを見ても、無名関数の説明の大半はクロージャについてで、無名関数のことを『クロージャ』と表現する箇所が多いです。
続きを読む『クロージャってJavaScriptで出てくる関数内の関数のことでしょ?』。これは100点満点で50点です。
JSが目立つだけで、JS固有の仕様でもなくプログラミングの処理の形態です。
たとえば、PHPにはClosureというクラスが用意されている。
続きを読むPHPには、連想配列から値の入った変数を一気に作る関数 extract() があって便利なんですが、注意するところがいくつもあります。
便利だからといって気軽に使って良いものではありません。コーディング規約によっては使うだけでエラーになるものもあります。
そんな extract() 使用の注意点を見ていきます。
続きを読むPHP8.1にNever型が追加されました。読んで字の如し。この型を宣言した関数はPHPプログラムの処理が必ず終了することを指します。
終了は『関数で終わらせる』『例外をスローする』『無限ループ』の3つ。
ん? 無限ループもですか? ってかんじ。これ引っかかる人多いんじゃないかな?
続きを読む配列のマージには、array_merge() 以外に、'...' を使った方法もあります。
それは数値の配列キーにしか対応してなかったんですが、PHP8.1から文字列のキーも使えるようになりました。
この配列のマージのことを『配列のアンパック』と言います。また一般的にはスプレッド構文・スプレッド演算子と呼ばれる。
続きを読む