はじめに
PHP、Laravel初学者である私だが、他の方のコードをレビューする機会があった。
そこで、Collection型と配列で空のチェックが異なることを知ったため、ここに記載する。
結論
Collection型と配列の空を判定する方法は以下の通り。
■ Collectionの空チェック
$collection = collect([]);
$collection->isEmpty(); // true
■ 配列の空チェック
$array = [];
empty($array); // true
詳細
Collection型は、LaravelにあるObject型の一種であり、配列のラッパーである。例えば、DBから値を複数取得した結果(クエリビルダ等を用いた際)の型がCollectionである。また、Collection型にはメソッドが存在しており、今回は、Collectionが持っているメソッドを用いて空かどうかを判定している。
■ 備考
因みに、今回はisEmpty()
を紹介したが、isNotEmpty()
も存在する。
他にも、Collectionのメソッドは複数あるため、興味があれば以下公式ページを参照して欲しい。