Laravel 11

Hướng dẫn sử dụng "Array Helper" trong Laravel 11 - Phần 2

Admin
Oct 12, 2024
9 phút đọc
480

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

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Bài viết liên quan

Thông báo hệ thống
Thông tin