Nhảy tới nội dung
Phiên bản: 7.2.0

Array

Arr::getArr::exceptArr::query
Arr::hasArr::existsArr::random
Arr::hasAnyArr::firstArr::set
Arr::addArr::lastArr::shuffle
Arr::collapseArr::onlyArr::where
Arr::crossJoinArr::isAssocArr::forget
Arr::divideArr::prepend
Arr::dotArr::pull

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);

Arr::only()

Hàm Arr::only sẽ trả lại giá trị của các cặp key / value được chỉ định từ một mảng cho trước:

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];
$slice = Arr::only($array, ['name', 'price']);
// ['name' => 'Desk', 'price' => 100]

Arr::isAssoc()

Hàm Arr::isAssoc kiểm trả mãng có phải là một mãng kết hợp. Một mảng được coi là "kết hợp" nếu nó không có các phím số tuần tự bắt đầu bằng số không:

$isAssoc = Arr::isAssoc(['product' => ['name' => 'Desk', 'price' => 100]]);
// true

$isAssoc = Arr::isAssoc([1, 2, 3]);
// false

Arr::prepend()

Hàm Arr::pull 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 = ['one', 'two', 'three', 'four'];
$array = Arr::prepend($array, 'zero');
// ['zero', 'one', 'two', 'three', 'four']

Nếu cần, bạn có thể chỉ định key được sử dụng cho giá trị:

$array = ['price' => 100];
$array = Arr::prepend($array, 'Desk', 'name');
// ['name' => 'Desk', 'price' => 100]

Arr::pull()

Hàm Arr::pull trả lại và xoá một cặp key / value khỏi mảng:

$array = ['name' => 'Desk', 'price' => 100];
$name = Arr::pull($array, 'name');
// $name: Desk
// $array: ['price' => 100]

Bạn có thể thiết lập giá trị mặc định sẽ được trả lại nếu khoá không tồn tại:

$value = Arr::pull($array, $key, $default);

Arr::query()

Hàm Arr::query chuyển mảng thành chuỗi truy vấn:

$array = ['name' => 'Taylor', 'order' => ['column' => 'created_at', 'direction' => 'desc']];
Arr::query($array);
// name=Taylor&order[column]=created_at&order[direction]=desc

Arr::random()

Hàm Arr::random trả về một giá trị ngẫu nhiên từ một mảng

$array = [1, 2, 3, 4, 5];
$random = Arr::random($array);

Bạn cũng có thể xác định số lượng các mục để trở lại như là một lý luận thứ hai tùy chọn. Lưu ý rằng việc cung cấp đối số này sẽ trả về một mảng, ngay cả khi chỉ có một mục mong muốn:

$items = Arr::random($array, 2);
// [2, 5] - (retrieved randomly)

Arr::set()

Hàm Arr::set thiết lập giá trị sâu trong mảng con sử dụng kí hiệu "dot":

$array = ['products' => ['desk' => ['price' => 100]]];
Arr::set($array, 'products.desk.price', 200);
// ['products' => ['desk' => ['price' => 200]]]

Arr::shuffle()

Hàm Arr::shuffle sắp xếp ngẫu nhiên Shuffles các mục trong mảng:

$array = Arr::shuffle([1, 2, 3, 4, 5]);
// [3, 2, 5, 1, 4] - (generated randomly)

Arr::where()

Hàm Arr::where lọc mảng theo một Closure cho trước:

$array = [100, '200', 300, '400', 500];
$filtered = Arr::where($array, function ($value, $key) {
return is_string($value);
});
// [1 => '200', 3 => '400']

Arr::forget()

Hàm Arr::forget 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 = ['products' => ['desk' => ['price' => 100]]];
Arr::forget($array, 'products.desk');
// ['products' => []]