Laravel – Collection – 基本操作

概要

コレクションは配列と同じように要素の集合体だが、細やかな操作・集計などのメソッドを備えている。

コレクションの作成~collect()ヘルパー

collect()ヘルパーの引数に配列を入れて、Collectionのインスタンスを得られる。

与えるのは連想配列でもよい。

値の参照

ブラケット([])による参照

以下のような連想配列を準備する。

配列のインデックスや連想配列のキーを指定するのと同じようにして、ブラケット([])で要素を参照できる。

get()メソッドによる参照

ブラケットの代わりにget()メソッドを用いても要素を参照できる。

random()~ランダムに1つ取り出す

random()メソッドを呼び出すたびに、コレクションの要素がランダムに1つ返される。

first()/last()

first()メソッド/last()メソッドは、コレクションの先頭要素/末尾要素を返す。

値のセット

ブラケット([])によるセット

配列や連想配列と同じように、インデックスやキーを指定して値をセットできる。

put()メソッドによるセット

put(index/key, value)でも指定したインデックス/キーの要素の値をセットできる。

空のコレクションと要素の追加

空のコレクションの生成

collect()メソッドの引数を省略すると、空のCollectionインスタンスが生成される。

ブラケット([])による追加

存在しないインデックスやキーを指定して値をセットすると、新たに要素が追加される。

ブラケットでキーを指定しないと、末尾にデータが追加される。

put()メソッドによる追加

put(index/key, value)でも要素を追加できる。

値の引き抜き

pull()メソッドは、指定したインデックス/キーの要素をコレクションから抜き取る。その要素はコレクションから削除され、戻り値として返される。

以下の例では、pull()メソッドで2つの要素を抜き取っている。

スタック

Collectionにはpush()メソッドとpop()メソッドが準備されていて、コレクションをスタックのように扱える。以下のデータで確認する。

push()メソッド

push()メソッドは、引数で指定した値をコレクションの末尾に追加する。

2つ以上の引数を指定してもエラーにはならないが、1つ目の引数の値のみが使われてプッシュされる。

pop()メソッド

pop()メソッドは、コレクションの末尾から要素を抜き取り、戻り値として返す。

空かどうかの確認

isEmpty()/isNotEmpty()は、コレクションが空か/空でないかを確認して結果をtrue/falseで返す。

nullの場合はCollectionのインスタンスではないので、これらのメソッドの結果はエラーになる。

コレクションから配列への変換

toArray()メソッドは、コレクションの内容を配列として返す。toArray()のほかall()メソッドでも同じ結果が得られる。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です