Hướng dẫn array_column trong php

Hướng dẫn array_column trong php

Hàm array_column trong PHP là một hàm xử lý mảng trong php. Hàm này có tác dụng lấy ra một mảng đơn từ mảng đa chiều. Mảng đa chiều ở đây là trong giá trị của mảng nó là một mảng nữa. Ở đây hàm array_column trong PHP này sẽ tạo ra một mảng 1 chiều từ mảng đa chiều này. Dựa vào key của mảng đa chiều. Bạn đọc bài dưới đây để hiểu rõ hơn. Bài viết này thuộc chuyên mục PHP Developer.

Cách sử dụng hàm array_column trong PHP

Hướng dẫn array_column trong php
Hàm array_column trong PHP

Cú pháp hàm array_column trong PHP:

array_column($array, $column_key, $index_key)
  • $array: Đây là mảng đa chiều bạn muốn lấy ra mảng đơn dựa vào key, value từ mảng đa chiều này.
  • $column_key: Đây là key của mảng con trong mảng đa chiều $array. Nó sẽ lấy giá trị của key này vào làm giá trị của mảng đơn sắp tạo ra.
  • $index_key: Đây là key của mảng con trong mảng đa chiều $array. Nó sẽ lấy giá trị của key này làm key cho mảng đơn sắp tạo ra. Nếu $index_key để rỗng(bạn không nhập). Thì nó sẽ lấy mặc định key theo mảng tuần tự có key từ 0, 1, 2, 3, …

Ví dụ về hàm array_column trong PHP

Đầu tiên mình sẽ lấy ví dụ về hàm array_column() không sử dụng index_key. Bạn theo dõi đoạn mã dưới đây:

$array = array(
        array(
            'id' => 'html_id',
            'name' => 'Ngôn ngữ HTML',
            'time_learn' => '1 năm'
        ),
        array(
            'id' => 'php_id',
            'name' => 'Ngôn ngữ PHP',
            'time_learn' => '2 năm'
        ),
        array(
            'id' => 'js_id',
            'name' => 'Ngôn ngữ JS',
            'time_learn' => '3 năm'
        ),
    );
    $result = array_column($array, 'name');

    echo '<pre>';
    print_r($result);
    echo '</pre>';

Ở đây ta có mảng đa chiều $array. Các giá trị trong mảng này chứa 3 mảng con khác nhau nhưng có chung key là id, name, time_learn. Ở ví dụ trên khi sử dụng hàm array_column() vào mảng $array mình đã nhập

  • Tham số column_key là ‘name’. Nghĩa là sẽ lấy giá trị của 3 mảng con trên có khóa là name là ‘Ngôn ngữ HTML’, ‘Ngôn ngữ PHP’, ‘Ngôn ngữ JS’ cho vào mảng đơn mới.
  • Tham số index_key mình không nhập nên nó sẽ lấy key theo kiểu mảng tuần tự: 0, 1, 2, 3,…

Kết quả:

Array
(
    [0] => Ngôn ngữ HTML
    [1] => Ngôn ngữ PHP
    [2] => Ngôn ngữ JS
)

Ví dụ về hàm array_column() có sử dụng index_key.

$array = array(
        array(
            'id' => 'html_id',
            'name' => 'Ngôn ngữ HTML',
            'time_learn' => '1 năm'
        ),
        array(
            'id' => 'php_id',
            'name' => 'Ngôn ngữ PHP',
            'time_learn' => '2 năm'
        ),
        array(
            'id' => 'js_id',
            'name' => 'Ngôn ngữ JS',
            'time_learn' => '3 năm'
        ),
    );
    $result = array_column($array, 'name', 'id');

    echo '<pre>';
    print_r($result);
    echo '</pre>';

Tương tự như ví dụ bên trên nhưng mình đã nhập giá trị cho index_key ở đây là id. Nghĩa là nó sẽ lấy các giá trị của các mảng con của khóa ‘id’ làm key cho mảng đơn sắp sinh ra.

Kết quả:

Array
(
    [html_id] => Ngôn ngữ HTML
    [php_id] => Ngôn ngữ PHP
    [js_id] => Ngôn ngữ JS
)

Ở đây html_id, php_id, js_id là giá trị của các mảng con có khóa là id.

Kết Luận

Qua bài viết trên Chuẩn Seo Web đã giúp bạn hiểu hơn về hàm array_column trong PHP. Mình hy vọng sẽ giúp ích cho bạn. Cám ơn bạn đã theo dõi bài viết.

Nguyễn Luân

MÌnh là Luân. Mình có 4 năm kinh nghiệm trong lập trình website và 3 năm làm về WordPress theme và plugin. Rất hy vọng có cơ hội hợp tác với mọi người. Xin cám ơn.