当前位置:  首页>> 技术小册>> PHP合辑3-数组函数

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

语法:

array array_column(input_array,column_number, $index_key);

参数:

三个参数中,有两个是必需的,一个可选。让我们来看看这些参数。

$input_array(必需):此参数是指我们要从中提取特定列的所有值的原始多维数组。

$column_number(必需):此参数是指需要返回的值的列。该值可以是列的整数键,也可以是关联数组或属性名的字符串键名。它也可以为NULL,以返回完整数组或对象。

$index_key(可选):这是一个可选参数,指的是用于输出数组的索引/键的列。该值可以是列的整数键,也可以是字符串键名。

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

示例:

  1. Input :
  2. array(
  3. array(
  4. 'roll' => 5,
  5. 'name' => 'Akash',
  6. 'hobby' => 'Cricket',
  7. ),
  8. array(
  9. 'roll' => 1,
  10. 'name' => 'Rishav',
  11. 'hobby' => 'Football',
  12. ),
  13. array(
  14. 'roll' => 3,
  15. 'name' => 'Anand',
  16. 'hobby' => 'Chess',
  17. ),
  18. )
  19. $column_number = 'hobby' , $index_key = 'roll'
  20. Output :
  21. Array
  22. (
  23. [5] => Cricket
  24. [1] => Football
  25. [3] => Chess
  26. [4] => Cards
  27. [2] => Basketball
  28. )

在上面的例子中,array_column()函数用于获取键为“name”的列的值,并将这些值存储在输出数组中,这些值以从原始数组中键“roll”的值获取的键存储。

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

  1. <?php
  2. // PHP code to illustrate the working of array_column
  3. function Column($details){
  4. $rec = array_column($details, 'name', 'roll');
  5. return $rec;
  6. }
  7. // Driver Code
  8. $details = array(
  9. array(
  10. 'roll' => 5,
  11. 'name' => 'Akash',
  12. 'hobby' => 'Cricket',
  13. ),
  14. array(
  15. 'roll' => 1,
  16. 'name' => 'Rishav',
  17. 'hobby' => 'Football',
  18. ),
  19. array(
  20. 'roll' => 3,
  21. 'name' => 'Anand',
  22. 'hobby' => 'Chess',
  23. ),
  24. array(
  25. 'roll' => 4,
  26. 'name' => 'Gaurav',
  27. 'hobby' => 'Cards',
  28. ),
  29. array(
  30. 'roll' => 2,
  31. 'name' => 'Rahim',
  32. 'hobby' => 'Basketball',
  33. ),
  34. );
  35. print_r(Column($details));
  36. ?>

output:

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

我们也可以忽略第三个参数index_key。在这种情况下,输出数组中的列将以线性方式进行索引,如数组中所示。以下是演示此的PHP程序:

  1. <?php
  2. // PHP code to illustrate the working of array_column
  3. function Column($details){
  4. $rec = array_column($details, 'hobby');
  5. return $rec;
  6. }
  7. // Driver Code
  8. $details = array(
  9. array(
  10. 'roll' => 5,
  11. 'name' => 'Akash',
  12. 'hobby' => 'Cricket',
  13. ),
  14. array(
  15. 'roll' => 1,
  16. 'name' => 'Rishav',
  17. 'hobby' => 'Football',
  18. ),
  19. array(
  20. 'roll' => 3,
  21. 'name' => 'Anand',
  22. 'hobby' => 'Chess',
  23. ),
  24. array(
  25. 'roll' => 4,
  26. 'name' => 'Gaurav',
  27. 'hobby' => 'Cards',
  28. ),
  29. array(
  30. 'roll' => 2,
  31. 'name' => 'Rahim',
  32. 'hobby' => 'Basketball',
  33. ),
  34. );
  35. print_r(Column($details));
  36. ?>

output:

  1. Array
  2. (
  3. [0] => Cricket
  4. [1] => Football
  5. [2] => Chess
  6. [3] => Cards
  7. [4] => Basketball
  8. )

该分类下的相关小册推荐: