+2

Laravel Helper P.1 - Arrays

Hàm Helper

Giới thiệu Các phương thức tồn tại

Giới thiệu

Laravel có chứa danh sách các hàm PHP "helper". Trong số này, nhiều hàm được sử dụng bên trong framework; tuy nhiên, bạn có thể thoải mái sử dụng chúng trong ứng dụng nếu bạn cảm thấy tiện.

Arrays

array_add()

Hàm array_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 = array_add(['name' => 'Desk'], 'price', 100);

// ['name' => 'Desk', 'price' => 100]

array_collapse()

Hàm array_collapse làm thu nhỏ lại mảng của các mảng thành một mảng đơn:

$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

array_divide()

Hàm array_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:

list($keys, $values) = array_divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

array_dot()

Hàm array_dot làm flattens các mảng đa chiều thành mảng một chiều sử dụng kí hiệu "dấu chấm" để đánh đấu độ sâu:

$array = array_dot(['foo' => ['bar' => 'baz']]);

// ['foo.bar' => 'baz'];

array_except()

Hàm array_except loại bỏ các cặp key / value khỏi mảng:

$array = ['name' => 'Desk', 'price' => 100];

$array = array_except($array, ['price']);

// ['name' => 'Desk']

### array_first()

Hàm array_first trả về phần tử đầu tiên của mảng theo một điều kiện:


$array = [100, 200, 300];

$value = array_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:

$value = array_first($array, $callback, $default);

array_flatten()

Hàm array_flatten sẽ làm flatten mảng đa chiều thành mảng một chiều.

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$array = array_flatten($array);

// ['Joe', 'PHP', 'Ruby'];

array_forget()

Hàm array_forget xoá một cặp key / value từ một mảng con nằm sâu bên trong sử dụng kí hiệu "dấu chấm":

$array = ['products' => ['desk' => ['price' => 100]]];

array_forget($array, 'products.desk');

// ['products' => []]

array_get()

Hàm array_get lấy giá trị từ mảng con sâu bên trong sử dụng kí hiệu "dấu chấm":

$array = ['products' => ['desk' => ['price' => 100]]];

$value = array_get($array, 'products.desk');

// ['price' => 100]

The array_get function also accepts a default value, which will be returned if the specific key is not found:

$value = array_get($array, 'names.john', 'default');

array_has()

Hàm array_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 "dấu chấm":

$array = ['product' => ['name' => 'desk', 'price' => 100]];

$hasItem = array_has($array, 'product.name');

// true

$hasItems = array_has($array, ['product.price', 'product.discount']);

// false

array_last()

Hàm array_last trả về phần tử cuối cùng của mảng truyền vào theo một điều kiện:

$array = [100, 200, 300, 110];

$value = array_last($array, function ($value, $key) {
    return $value >= 150;
});

// 300

array_only()

Hàm array_only sẽ trả lại giá trị của các cặp key / value từ một mảng cho trước:

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$array = array_only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

array_pluck()

Hàm array_pluck sẽ trả lại danh sách giá trị với key cho trước:

$array = [
    ['developer' => ['id' => 1, 'name' => 'Taylor']],
    ['developer' => ['id' => 2, 'name' => 'Abigail']],
];

$array = array_pluck($array, 'developer.name');

// ['Taylor', 'Abigail'];

Bạn cũng có thể chỉ định đâu là khoá trong danh sách kết quả:

$array = array_pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail'];

array_prepend()

Hàm array_prepend sẽ thêm một item vào đầu mảng:

$array = ['one', 'two', 'three', 'four'];

$array = array_prepend($array, 'zero');

// $array: ['zero', 'one', 'two', 'three', 'four']

array_pull()

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

$array = ['name' => 'Desk', 'price' => 100];

$name = array_pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

array_set()

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

$array = ['products' => ['desk' => ['price' => 100]]];

array_set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

array_sort()

Hàm array_sort thực hiện sắp xếp mảng theo kết quả của một Closure truyền vào:


$array = [
    ['name' => 'Desk'],
    ['name' => 'Chair'],
];

$array = array_values(array_sort($array, function ($value) {
    return $value['name'];
}));

/*
    [
        ['name' => 'Chair'],
        ['name' => 'Desk'],
    ]
*/

array_sort_recursive()

Hàm array_sort_recursive thực hiện sắp xếp mảng sử dụng hàm sort đệ quy:

$array = [
    [
        'Roman',
        'Taylor',
        'Li',
    ],
    [
        'PHP',
        'Ruby',
        'JavaScript',
    ],
];

$array = array_sort_recursive($array);

/*
    [
        [
            'Li',
            'Roman',
            'Taylor',
        ],
        [
            'JavaScript',
            'PHP',
            'Ruby',
        ]
    ];
*/

array_where()

Hàm array_where flọc mảng theo một Closure cho trước:

$array = [100, '200', 300, '400', 500];

$array = array_where($array, function ($value, $key) {
    return is_string($value);
});

// [1 => 200, 3 => 400]

head()

Hàm head đơn giản chỉ trả về phần tử đầu tiên của mảng:

$array = [100, 200, 300];

$first = head($array);

// 100

last()

Hàm last trả về phần tử cuối cùng của mảng:

$array = [100, 200, 300];

$last = last($array);

// 300

Nguồn: https://laravel.com


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí