array_column

(PHP 5 >= 5.5.0, PHP 7)

array_column����������ָ����һ��

˵��

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

array_column() ����input�����м�ֵΪcolumn_key���У� ���ָ���˿�ѡ����index_key����ôinput�����е���һ�е�ֵ����Ϊ���������ж�Ӧֵ�ļ���

����

input

��Ҫȡ�������еĶ�ά���顣 ����ṩ���ǰ���һ���������飬ֻ�� public ���Իᱻֱ��ȡ���� Ϊ��Ҳ��ȡ�� private �� protected ���ԣ������ʵ�� __get() �� __isset() ħ��������

column_key

��Ҫ����ֵ���У�������������������������������ǹ���������еļ���Ҳ�������������� Ҳ������NULL����ʱ�������������飨���index_key�����������������ʱ�򣬷dz����ã�

index_key

��Ϊ�������������/�����У��������Ǹ��е����������������ַ�����ֵ��

����ֵ

�Ӷ�ά�����з��ص������顣

������־

�汾 ˵��
7.0.0 input �������ڿ����ǰ�����������顣

����

Example #1 �ӽ������ȡ��first names��

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        
'id' => 2135,
        
'first_name' => 'John',
        
'last_name' => 'Doe',
    ),
    array(
        
'id' => 3245,
        
'first_name' => 'Sally',
        
'last_name' => 'Smith',
    ),
    array(
        
'id' => 5342,
        
'first_name' => 'Jane',
        
'last_name' => 'Jones',
    ),
    array(
        
'id' => 5623,
        
'first_name' => 'Peter',
        
'last_name' => 'Doe',
    )
);
 
$first_names array_column($records'first_name');
print_r($first_names);
?>

�������̻������

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Example #2 �ӽ��������ȡ��last names�У�����Ӧ��id��Ϊ��ֵ

<?php
// Using the $records array from Example #1
$last_names array_column($records'last_name''id');
print_r($last_names);
?>

�������̻������

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

Example #3 username ���ǴӶ����ȡ public �� "username" ����

<?php

class User
{
    public 
$username;

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

$users = [
    new 
User('user 1'),
    new 
User('user 2'),
    new 
User('user 3'),
];

print_r(array_column($users'username'));
?>

�������̻������

Array
(
    [0] => user 1
    [1] => user 2
    [2] => user 3
)

Example #4 ��ȡ username �У��Ӷ���ͨ��ħ������ __get() ��ȡ private �� "username" ���ԡ�

<?php

class Person
{
    private 
$name;

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

    public function 
__get($prop)
    {
        return 
$this->$prop;
    }

    public function 
__isset($prop) : bool
    
{
        return isset(
$this->$prop);
    }
}

$people = [
    new 
Person('Fred'),
    new 
Person('Jane'),
    new 
Person('John'),
];

print_r(array_column($people'name'));
?>

�������̻������

Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)
������ṩ__isset()���᷵�ؿ����顣