Array Functions
Advertisements

PHP array_column() Function

Topic: PHP Array ReferencePrev|Next

Description

The array_column() function return the values from a single column in the input array.

The following table summarizes the technical details of this function.

Return Value: Returns an array of values representing a single column from the input array.
Changelog: Since PHP 7.0.0, an array of objects can also be used.
Version: PHP 5.5.0+

Syntax

The basic syntax of the array_column() function is given with:

sort(array, column_key, index_key);

The following example shows the array_column() function in action.

<?php
// Sample array
$movies = array(
    array(
        "id" => "1",
        "name" => "Titanic",
        "genre" => "Drama",
    ),
    array(
        "id" => "2",
        "name" => "Justice League",
        "genre" => "Action",
    ),
    array(
        "id" => "3",
        "name" => "Joker",
        "genre" => "Thriller",
    )
);

// Getting the column of names
$names = array_column($movies, "name");
print_r($names);
?>

Parameters

The array_column() function accepts the following parameters.

Parameter Description
array Required. Specifies a multi-dimensional array or an array of objects to work on.
column_key

Required. Specifies the index or key name of the column you want to retrieve.

This parameter can also be NULL to return complete arrays or objects (this is useful together with the index_key parameter to reindex the array).
index_key Optional. Specifies the column to use as the index/keys for the returned array.

More Examples

Here're some more examples showing how array_column() function actually works:

The following example demonstrates how to retrieve the "name" column values from the movies array indexed by the "id" column values. You can choose any column for indexing purpose.

<?php
// Sample array
$movies = array(
    array(
        "id" => "1",
        "name" => "Titanic",
        "genre" => "Drama",
    ),
    array(
        "id" => "2",
        "name" => "Justice League",
        "genre" => "Action",
    ),
    array(
        "id" => "3",
        "name" => "Joker",
        "genre" => "Thriller",
    )
);

// Getting the column of names
$names = array_column($movies, "name", "id");
print_r($names);
?>

The following example get the column of names from the public "name" property of an object.

<?php
// Class definition
class Person
{
    public $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }
}

// Creating the array of objects
$persons = [
    new Person("Peter"),
    new Person("Alice"),
    new Person("Clark"),
];

// Getting the column of names
$names = array_column($persons, "name");
print_r($names);
?>
Advertisements
Bootstrap UI Design Templates

Your Feedback:

We would love to hear from you, please drop us a line.