Array
Arr::get()
Hàm Arr::get
lấy giá trị từ mảng con sâu bên trong sử dụng kí hiệu "dot":
$array = ['products' => ['desk' => ['price' => 100]]];
$price = Arr::get($array, 'products.desk.price');
// 100
Hàm Arr::get
cũng nhận một giá trị mặc định, và trả lại nếu như một khoá không tìm thấy::
$discount = Arr::get($array, 'products.desk.discount', 0);
// 0
Arr::has()
Hàm Arr::has
kiểm tra xem một item có tồn tại trong mảng hay không sử dụng kí hiệu "dot":
$array = ['product' => ['name' => 'Desk', 'price' => 100]];
$contains = Arr::has($array, 'product.name');
// true
$contains = Arr::has($array, ['product.price', 'product.discount']);
// false
Arr::hasAny()
Hàm Arr::hasAny
kiểm tra xem bất kỳ một item trong mãng cần kiếm có tồn tại trong mảng tìm kiếm hay không sử dụng kí hiệu "dot":
$array = ['product' => ['name' => 'Desk', 'price' => 100]];
$contains = Arr::hasAny($array, 'product.name');
// true
$contains = Arr::hasAny($array, ['product.name', 'product.discount']);
// true
$contains = Arr::hasAny($array, ['category', 'product.discount']);
// false
Arr::add()
Hàm Arr::add
thêm một cặp key / value vào trong mảng nếu key đó chưa tồn tại trong array:
$array = Arr::add(['name' => 'Desk'], 'price', 100);
// ['name' => 'Desk', 'price' => 100]
$array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100);
// ['name' => 'Desk', 'price' => 100]
Arr::collapse()
Hàm Arr::collapse
gôm các mảng thành một mảng:
$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
Arr::crossJoin()
Hàm Arr::crossJoin
chéo các mảng được truyền vào, trả về một mãng Descartes với tất cả các hoán vị có thể:
$matrix = Arr::crossJoin([1, 2], ['a', 'b']);
/*
[
[1, 'a'],
[1, 'b'],
[2, 'a'],
[2, 'b'],
]
*/
$matrix = Arr::crossJoin([1, 2], ['a', 'b'], ['I', 'II']);
/*
[
[1, 'a', 'I'],
[1, 'a', 'II'],
[1, 'b', 'I'],
[1, 'b', 'II'],
[2, 'a', 'I'],
[2, 'a', 'II'],
[2, 'b', 'I'],
[2, 'b', 'II'],
]
*/
Arr::divide()
Hàm Arr::divide
trả về hai mảng, một mảng chứa các key, mảng còn lại chứa các values của mảng gốc:
[$keys, $values] = Arr::divide(['name' => 'Desk']);
// $keys: ['name']
// $values: ['Desk']
Arr::dot()
Hàm Arr::dot
àm flat các mảng đa chiều thành mảng một chiều sử dụng kí hiệu "dot" để đánh đấu độ sâu:
$array = ['products' => ['desk' => ['price' => 100]]];
$flattened = Arr::dot($array);
// ['products.desk.price' => 100]
Arr::except()
Hàm Arr::except
loại bỏ các cặp key / value khỏi mảng:
$array = ['name' => 'Desk', 'price' => 100];
$filtered = Arr::except($array, ['price']);
// ['name' => 'Desk']
Arr::exists()
Hàm Arr::exists
kiểm tra key có tồn tại trong mảng dã cho
$array = ['name' => 'John Doe', 'age' => 17];
$exists = Arr::exists($array, 'name');
// true
$exists = Arr::exists($array, 'salary');
// false
Arr::first()
Hàm Arr::first
trả về phần tử đầu tiên của mảng theo một điều kiện:
$array = [100, 200, 300];
$first = Arr::first($array, function ($value, $key) {
return $value >= 150;
});
// 200
Giá trị mặc định cũng có thể được truyền vào ở tham số thứ ba. Giá trị này sẽ được trả lại nếu không có giá trị nào thoả mãn điều kiện:
$first = Arr::first($array, $callback, $default);
Arr::last()
Hàm Arr::last
trả về phần tử cuối cùng của mảng:
$array = [100, 200, 300, 110];
$last = Arr::last($array, function ($value, $key) {
return $value >= 150;
});
// 300
Giá trị mặc định cũng có thể được truyền vào ở tham số thứ ba. Giá trị này sẽ được trả lại nếu không có giá trị nào thoả mãn điều kiện:
$last = Arr::last($array, $callback, $default);