当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()函数的返回类型为array。也就是说,该函数返回一个数组,该数组包含一个由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()函数来获取键为“名称”的列的值,并且输出数组中的这些值都与从原始数组中的键“ roll”的值获取的键捆绑在一起。

以下示例程序旨在说明具有所有三个参数的array_column():

<?php 
// PHP code to illustrate the working of array_column 
function Column($details){ 
    $rec = array_column($details, 'name', 'roll'); 
    return $rec; 
} 
  
// Driver Code 
$details = array( 
    array( 
        'roll' => 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程序来说明这一点:

<?php 
// PHP code to illustrate the working of array_column 
function Column($details){ 
    $rec = array_column($details, 'hobby'); 
    return $rec; 
} 
  
// Driver Code 
$details = array( 
    array( 
        'roll' => 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
)


相关用法


注:本文由纯净天空筛选整理自Chinmoy Lenka大神的英文原创作品 PHP | array_column() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。