How to get a field of a two-dimensional array in backend PHP

PHPz
Release: 2023-04-20 14:04:56
Original
1309 people have browsed it

In PHP, two-dimensional arrays are usually stored as a collection of related data. For this type of data structure, you can loop through each array element and then use the array index operator to access the value of each element. If you need to access only a specified field, you can use the array_column() function or customize a traversal function.

1. Use the array_column() function
The array_column() function can obtain the value of a field in the specified array and return it as a new array. The parameter list is as follows:

array_column(array $input, mixed $column_key, mixed $index_key = null) : array
Parameter description:

  • $input: required, required Gets a multidimensional array of fields.
  • $column_key: required, the key value to be returned. It can be a string, indicating that the value of this key is to be returned; it can also be a number, indicating that the value of this index is to be returned.
  • $index_key: Optional, the column to be used as the key of the returned array. It can be a string, indicating that the value of this column should be used as the key; it can also be a number, indicating that the value of $column_key should be used as the key.

The following example shows how to use the array_column() function to obtain the specified field in the two-dimensional array:

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);
    
// 获取名字字段值
$names = array_column($data, 'name');
print_r($names); // 输出 ['Alice', 'Bob', 'Charlie']

// 获取id和名字作为键的新数组
$new_data = array_column($data, 'age', 'name');
print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]
Copy after login

2. Customize a traversal function
If the field to be obtained is not available For fixed positions, or if you need to customize complex operations, you can customize a traversal function to implement it. The following is a sample code for a traversal function:

// 自定义一个遍历函数
function get_field_from_array($data,$field){
    $result = array();
    foreach($data as $item){
        if(array_key_exists($field,$item)){
            $result[] = $item[$field];
        }
    }
    return $result;
}

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);

// 获取名字字段值
$names = get_field_from_array($data,'name');
print_r($names); //输出 ['Alice', 'Bob', 'Charlie']

// 获取id字段值
$ids = get_field_from_array($data,'id');
print_r($ids); //输出 [1, 2, 3]
Copy after login

Through the above two methods, you can easily obtain the specified field value in the two-dimensional array. No matter which method is used, you need to pay attention to whether the incoming array format meets the requirements of the function to avoid errors and exceptions caused by incorrect array format.

The above is the detailed content of How to get a field of a two-dimensional array in backend PHP. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template