📜  PHP | array_column()函数

📅  最后修改于: 2022-05-13 01:56:50.070000             🧑  作者: Mango

PHP | array_column()函数

array_column() 是PHP中的一个内置函数,用于从输入数组中的单个列返回值。

句法:

array array_column($input_array, $column_number, $index_key);

参数
在三个参数中,两个是必需的,一个是可选的。我们来看看参数。

  1. $input_array(强制):这个参数是指我们要从中提取特定列的所有值的原始多维数组。
  2. $column_number(强制):该参数是指需要返回的值的列。此值可能是列的整数键,也可能是关联数组或属性名称的字符串键名。返回完整的数组或对象也可能为 NULL。
  3. $index_key(可选):这是一个可选参数,指的是用作输出中返回数组的索引/键的列。该值可能是列的整数键,也可能是字符串键名。

返回类型:如语法所示,array_column()函数的返回类型为数组。也就是说,该函数返回一个数组,该数组包含输入数组的单列中的值,由 column_number 标识。可选地,还可以提供 index_key 以通过输入数组的 index_key 列中的值对返回数组中的值进行索引。

例子:

Input : 
      array(
        array(
            'roll' => 5,
            'name' => 'Akash',
            'hobby' => 'Cricket',
        ),
        array(
            'roll' => 1,
            'name' => 'Rishav',
            'hobby' => 'Football',
        ),
        array(
            'roll' => 3,
            'name' => 'Anand',
            'hobby' => 'Chess',
        ),
      )
  
      $column_number = 'hobby'  ,   $index_key = 'roll'
Output : 
      Array
      (
         [5] => Cricket
         [1] => Football
         [3] => Chess
         [4] => Cards
         [2] => Basketball
      )

在上面的示例中,array_column()函数用于获取键为 'name' 的列的值,并且输出数组中的这些值与从原始数组中键 'roll' 的值中获取的键一起存储.

下面的程序说明了带有所有三个参数的 array_column():

C++
 5,
        'name' => 'Akash',
        'hobby' => 'Cricket',
    ),
    array(
        'roll' => 1,
        'name' => 'Rishav',
        'hobby' => 'Football',
    ),
    array(
        'roll' => 3,
        'name' => 'Anand',
        'hobby' => 'Chess',
    ),
    array(
        'roll' => 4,
        'name' => 'Gaurav',
        'hobby' => 'Cards',
    ),
    array(
        'roll' => 2,
        'name' => 'Rahim',
        'hobby' => 'Basketball',
    ),
);
print_r(Column($details));
?>


C++
 5,
        'name' => 'Akash',
        'hobby' => 'Cricket',
    ),
    array(
        'roll' => 1,
        'name' => 'Rishav',
        'hobby' => 'Football',
    ),
    array(
        'roll' => 3,
        'name' => 'Anand',
        'hobby' => 'Chess',
    ),
    array(
        'roll' => 4,
        'name' => 'Gaurav',
        'hobby' => 'Cards',
    ),
    array(
        'roll' => 2,
        'name' => 'Rahim',
        'hobby' => 'Basketball',
    ),
);
print_r(Column($details));
?>


输出:

Array
(
    [5] => Akash
    [1] => Rishav
    [3] => Anand
    [4] => Gaurav
    [2] => Rahim
)

我们也可以忽略第三个参数 index_key。然后,在这种情况下,输出数组中的列将以数组中给定的线性方式索引。下面是说明这一点的PHP程序:

C++

 5,
        'name' => 'Akash',
        'hobby' => 'Cricket',
    ),
    array(
        'roll' => 1,
        'name' => 'Rishav',
        'hobby' => 'Football',
    ),
    array(
        'roll' => 3,
        'name' => 'Anand',
        'hobby' => 'Chess',
    ),
    array(
        'roll' => 4,
        'name' => 'Gaurav',
        'hobby' => 'Cards',
    ),
    array(
        'roll' => 2,
        'name' => 'Rahim',
        'hobby' => 'Basketball',
    ),
);
print_r(Column($details));
?>

输出:

Array
(
    [0] => Cricket
    [1] => Football
    [2] => Chess
    [3] => Cards
    [4] => Basketball
)