array_column()
函式是用來從多維陣列中返回指定列的值的函式。該函式可以用於提取一個二維陣列中的某一列值並放入一個新的陣列中。
用法:
array_column(array $input, mixed $column_key [, mixed $index_key = null]) : array|false
引數:
$input
:必需,輸入的多維陣列。$column_key
:必需,指定想要返回的列的鍵名。$index_key
:可選,用作返回陣列的索引/鍵的列。預設為null
。
返回值:
- 返回包含指定列的值的陣列,如果提供了
index_key
,則該陣列的鍵將為該列的值。如果出現錯誤,返回false
。
示例:
- 返回陣列中某一列的值:
$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')
- 將某一列作為索引/鍵返回一個關聯陣列:
$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')
- 獲取物件陣列的屬性值:
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 或更高版本。