短いクロージャ (アロー関数とも呼ばれる) は、PHP で書かれた短い関数です。この関数は、 array_map## を使用するなど、クロージャを関数に渡すときに非常に役立ちます。 # または array_filter 関数。
// Post 对象的集合 $posts = [/* … */]; $ids = array_map(fn($post) => $post->id, $posts);以前は、次のように記述する必要がありました:
$ids = array_map(function ($post) { return $post->id; }, $posts);
使用方法を要約しましょう短いクロージャ関数。
PHP 7.4 で使用可能fn キーワードで始まる式を 1 つだけ含めることができます。つまり、return 式 return キーワードはパラメータとパラメータを無視できます。戻り値の型は、型ヒントとして使用できます。上記の例のより厳密な型制限は、次のように記述できます。$ids = array_map(fn (Post $post): int => $post->id, $posts);
fn&($x) => $ x
$modifier = 5; array_map(fn($x) => $x * $modifier, $numbers);外部スコープ内の変数は変更できないことに注意してください。参照渡しではなく値渡しであるためです。これは、短いクロージャ内で $modifier 変数を変更できるが、外側のスコープ内の $modifier 変数には影響しないことを意味します。 もちろん、例外はあります。それは、通常のクロージャと同じ機能を持つ $this キーワードです。
array_map(fn($x) => $x * $this->modifier, $numbers);開発の見通し私はすでに複数行のクロージャは、まだ将来的に開発の可能性があると述べました。私の頭の中にあるもう 1 つのアイデアは、ゲッター関数やセッター関数などの短いクロージャをクラスで使用できるようにすることです。
class Post { private $title; fn getTitle() => $this->title; }要するに、短いクロージャは次のとおりです。非常に人気のある機能ですが、改善が必要な部分はたくさんあります。最も可能性が高いのは複数行のクロージャです。
以上が詳細 ---PHP 7.4 の新しいアロー関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
声明
この記事はjb51で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前ByDDD
Atomfallのクレーンコントロールキーカードを見つける場所
3週間前ByDDD
<🎜>:Dead Rails-すべての課題を完了する方法
4週間前ByDDD
Atomfall Guide:アイテムの場所、クエストガイド、およびヒント
1 か月前ByDDD

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック
Gmailメールのログイン入り口はどこですか?
7684
15


Java チュートリアル
1639
14


CakePHP チュートリアル
1393
52


Laravel チュートリアル
1287
25


PHP チュートリアル
1229
29

