Laravel コレクションの簡単な理解

不言
リリース: 2018-10-22 14:22:31
転載
3118 人が閲覧しました

この記事は、Laravel コレクションについて簡単に理解できるものであり、困っている人は参考にしていただければ幸いです。

序文

コレクションは Illuminate\Database\Eloquent\Collection を通じてインスタンス化されます。Laravel のカーネルはほとんどのパラメーター転送にコレクションを使用しますが、これは使用しません。コレクションが良いという意味ではありません。 Laravel は、ルーティング、DB、リスナーなどのためではなく、特定の理由から高速でエレガントな開発フレームワークです。一連の配列を処理する必要がある場合、実際的な問題を迅速に解決するために必要になることがあります。

コレクションの作成

$collection = collect([1, 2, 3]);
ログイン後にコピー

明らかに、これは非常に単純な操作です。「この操作は複雑です」と言いたい場合はやめてください。 PHP5.x 初期バージョンの宣言方法。

$collection = array(1,2,3);
ログイン後にコピー

Laravel はコレクションに関して複雑なことは何も行いません。

プロトタイプに戻る

コレクションをデータに変換したい場合、その使用も非常に簡単です

collect([1, 2, 3])->all();
------>
[1, 2, 3]
ログイン後にコピー

ただし、パフォーマンスを考慮すると、この場合、Laravel コレクションを使用すると、配列操作の作業の 90% を完了するのに役立ちます。
たとえば、配列を水平線で切り取り、2 つ以上の配列に分割する必要があります。これを行うにはコレクションを使用できます~

$collection = collect([1, 2, 3, 4, 5, 6, 7]);
$chunks = $collection->chunk(4);
$chunks->toArray();
// [[1, 2, 3, 4], [5, 6, 7]]
ログイン後にコピー

そして、いくつかのメソッドは SQL ステートメントのクエリ メソッドに基づいて設計されています。具体的なメソッドを見てみましょう。

方法リスト

一般的に使用されるコレクション操作方法をいくつか紹介します。詳細と完全な詳細については、公式 Web サイトを参照してください。

#メソッドコメントすべて設定されますプロトタイプに戻るaverage & avg平均を計算するchunkセットを分割する指定したサイズの複数の小さなコレクションに分割しますcollapse複数の配列のコレクションを 1 つの配列のコレクションにマージします結合セットの値を「キー」として使用し、別の配列の値を結合するか、「値」としてセットを setconcat に結合できます。 指定された配列またはコレクションの値をコレクションの最後に追加します##contains#コレクションに指定された項目が含まれているかどうかを確認しますcountコレクション内のアイテムの合計数を返しますddコレクションのアイテムを出力し、スクリプトの実行を終了diffコレクションの値を他のコレクションまたは純粋な PHP 配列と比較し、元のコレクションに存在する値を返します。コレクションは存在しますが、指定されたコレクションには存在しませんeachコレクションの内容を反復処理し、それをコールバック関数に渡します指定されたものを使用します。コールバック関数はコレクションの内容をフィルターし、指定された実際のテストに合格したものだけを残します。 指定された実際のテストに合格したコレクション内の最初の要素を返します 指定されたキーに基づいてコレクション内の項目をグループ化します 指定された値をコレクションの最後に追加します指定されたキーと値のペアをコレクション内に設定しますコレクション 指定されたキーでコレクションを並べ替えます。並べ替えられたコレクションには、元の配列キーが保持されます。指定されたキー値でコレクションをフィルターします。
#filter
first
groupBy
push
put
sortBy
where

以上がLaravel コレクションの簡単な理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート