查詢

array_column()函式—用法及示例

「 從多維陣列中返回指定列的值的函式 」


array_column() 函式是用來從多維陣列中返回指定列的值的函式。該函式可以用於提取一個二維陣列中的某一列值並放入一個新的陣列中。

用法:

array_column(array $input, mixed $column_key [, mixed $index_key = null]) : array|false

引數:

  • $input:必需,輸入的多維陣列。
  • $column_key:必需,指定想要返回的列的鍵名。
  • $index_key:可選,用作返回陣列的索引/鍵的列。預設為 null

返回值:

  • 返回包含指定列的值的陣列,如果提供了 index_key,則該陣列的鍵將為該列的值。如果出現錯誤,返回 false

示例:

  1. 返回陣列中某一列的值:
$data = array(
    array('id' => 1, 'name' => 'John', 'age' => 25),
    array('id' => 2, 'name' => 'Jane', 'age' => 27),
    array('id' => 3, 'name' => 'Mark', 'age' => 30)
);

$names = array_column($data, 'name');
// 返回值:array('John', 'Jane', 'Mark')
  1. 將某一列作為索引/鍵返回一個關聯陣列:
$data = array(
    array('id' => 1, 'name' => 'John', 'age' => 25),
    array('id' => 2, 'name' => 'Jane', 'age' => 27),
    array('id' => 3, 'name' => 'Mark', 'age' => 30)
);

$names = array_column($data, 'name', 'id');
// 返回值:array(1 => 'John', 2 => 'Jane', 3 => 'Mark')
  1. 獲取物件陣列的屬性值:
class Person {
    public $name;
    public $age;

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

$people = array(
    new Person('John', 25),
    new Person('Jane', 27),
    new Person('Mark', 30)
);

$ages = array_column($people, 'age');
// 返回值:array(25, 27, 30)

請注意,array_column() 函式要求 PHP 5.5 或更高版本。

補充糾錯
上一個函式: array_chunk()函式
下一個函式: array_combine()函式
熱門PHP函式
分享連結