Trong Laravel 11, Array Helper cung cấp một loạt các phương thức tiện lợi để thao tác với mảng một cách đơn giản và hiệu quả. Ở phần 1, chúng ta đã khám phá nhiều phương thức cơ bản của Arr. Trong phần 2 này, chúng ta sẽ tiếp tục tìm hiểu các phương thức như Arr::only(), Arr::pluck(), Arr::random(), và nhiều phương thức khác để xử lý dữ liệu mảng một cách tối ưu.

1. Phương thức Arr::only()

Phương thức Arr::only() trả về một mảng chỉ chứa các khóa được chỉ định.

Cách sử dụng:

php
use Illuminate\Support\Arr;

$array = ['name' => 'John', 'age' => 30, 'email' => 'john@example.com'];
$result = Arr::only($array, ['name', 'email']);

print_r($result);

Kết quả:

php
['name' => 'John', 'email' => 'john@example.com']

2. Phương thức Arr::pluck()

Phương thức Arr::pluck() lấy tất cả các giá trị của một khóa cụ thể từ một mảng con.

Cách sử dụng:

php
$array = [
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
];

$names = Arr::pluck($array, 'name');
print_r($names);

Kết quả:

php
['John', 'Jane']

3. Phương thức Arr::prepend()

Phương thức Arr::prepend() thêm một giá trị vào đầu mảng với một khóa tùy chọn.

Cách sử dụng:

php
$array = ['name' => 'John'];
$result = Arr::prepend($array, 30, 'age');

print_r($result);

Kết quả:

php
['age' => 30, 'name' => 'John']

4. Phương thức Arr::prependKeysWith()

Phương thức Arr::prependKeysWith() thêm một chuỗi tiền tố vào các khóa của mảng.

Cách sử dụng:

php
$array = ['name' => 'John', 'age' => 30];
$result = Arr::prependKeysWith($array, 'user.');

print_r($result);

Kết quả:

php
['user.name' => 'John', 'user.age' => 30]

5. Phương thức Arr::pull()

Phương thức Arr::pull() trả về và xóa một giá trị khỏi mảng bằng cách sử dụng khóa chỉ định.

Cách sử dụng:

php
$array = ['name' => 'John', 'age' => 30];
$age = Arr::pull($array, 'age');

print_r($age);   // 30
print_r($array); // ['name' => 'John']

6. Phương thức Arr::query()

Phương thức Arr::query() chuyển đổi một mảng thành chuỗi truy vấn (query string).

Cách sử dụng:

php
$array = ['name' => 'John', 'age' => 30];
$queryString = Arr::query($array);

echo $queryString; // name=John&age=30

7. Phương thức Arr::random()

Phương thức Arr::random() trả về một hoặc nhiều mục ngẫu nhiên từ mảng.

Cách sử dụng:

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

print_r($randomValue); // Một giá trị ngẫu nhiên từ mảng

8. Phương thức Arr::set()

Phương thức Arr::set() đặt giá trị cho một khóa, sử dụng dot notation (chuỗi có dấu chấm) để truy cập vào mảng đa chiều.

Cách sử dụng:

php
$array = ['user' => ['name' => 'John']];
Arr::set($array, 'user.age', 30);

print_r($array);

Kết quả:

php
['user' => ['name' => 'John', 'age' => 30]]

9. Phương thức Arr::shuffle()

Phương thức Arr::shuffle() xáo trộn ngẫu nhiên các phần tử trong mảng.

Cách sử dụng:

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

print_r($shuffled);

10. Phương thức Arr::sort()

Phương thức Arr::sort() sắp xếp mảng theo thứ tự tự nhiên của các giá trị.

Cách sử dụng:

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

print_r($sorted);

11. Phương thức Arr::sortDesc()

Phương thức Arr::sortDesc() sắp xếp mảng theo thứ tự giảm dần.

Cách sử dụng:

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

print_r($sortedDesc);

12. Phương thức Arr::sortRecursive()

Phương thức Arr::sortRecursive() sắp xếp tất cả các phần tử của mảng một cách đệ quy, bao gồm các mảng con.

Cách sử dụng:

php
$array = ['z' => 1, 'a' => ['d' => 3, 'b' => 2]];
$sortedRecursive = Arr::sortRecursive($array);

print_r($sortedRecursive);

13. Phương thức Arr::take()

Phương thức Arr::take() trả về một mảng chỉ chứa số lượng phần tử cụ thể từ đầu mảng.

Cách sử dụng:

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

print_r($taken);

Kết quả:

php
[1, 2, 3]

14. Phương thức Arr::toCssClasses()

Phương thức Arr::toCssClasses() tạo ra một chuỗi các class CSS từ mảng.

Cách sử dụng:

php
$array = ['btn', 'btn-primary', 'active' => true, 'disabled' => false];
$cssClasses = Arr::toCssClasses($array);

echo $cssClasses; // "btn btn-primary active"

15. Phương thức Arr::toCssStyles()

Phương thức Arr::toCssStyles() chuyển đổi một mảng các cặp khóa-giá trị thành chuỗi CSS style.

Cách sử dụng:

php
$array = ['color' => 'red', 'font-weight' => 'bold'];
$cssStyles = Arr::toCssStyles($array);

echo $cssStyles; // "color: red; font-weight: bold;"

16. Phương thức Arr::undot()

Phương thức Arr::undot() chuyển đổi một mảng phẳng với các khóa dấu chấm thành mảng đa chiều.

Cách sử dụng:

php
$array = ['user.name' => 'John', 'user.age' => 30];
$expanded = Arr::undot($array);

print_r($expanded);

Kết quả:

php
['user' => ['name' => 'John', 'age' => 30]]

17. Phương thức Arr::where()

Phương thức Arr::where() lọc các phần tử của mảng dựa trên điều kiện callback.

Cách sử dụng:

php
$array = [100, 200, 300, 400];
$filtered = Arr::where($array, function ($value) {
    return $value >= 300;
});

print_r($filtered);

Kết quả:

php
[300, 400]

18. Phương thức Arr::whereNotNull()

Phương thức Arr::whereNotNull() lọc các phần tử trong mảng mà giá trị của chúng không phải là null.

Cách sử dụng:

php
$array = ['name' => 'John', 'email' => null, 'age' => 30];
$filtered = Arr::whereNotNull($array);

print_r($filtered);

Kết quả:

php
['name' => 'John', 'age' => 30]

19. Phương thức Arr::wrap()

Phương thức Arr::wrap() chuyển đổi một giá trị thành mảng nếu nó không phải là mảng, hoặc giữ nguyên nếu đã là mảng.

Cách sử dụng:

php
$singleValue = 'John';
$array = Arr::wrap($singleValue);

print_r($array); // ['John']

Kết luận

Trong phần 2 này, chúng ta đã tìm hiểu cách sử dụng nhiều phương thức của Array Helper trong Laravel 11, từ việc lấy các phần tử cụ thể với Arr::only(), thêm hoặc sửa giá trị với Arr::set(), cho đến việc chuyển đổi các khóa chấm thành mảng với Arr::undot(). Những phương thức này giúp bạn làm việc với dữ liệu một cách linh hoạt và hiệu quả hơn trong Laravel.


Tác giả: Đội ngũ CodeTuthub.com