PHP is a popular programming language often used for web development. In PHP, array is a very practical data type that is widely used in many scenarios. A two-dimensional array is a special array type that consists of multiple arrays, each containing a fixed number of elements. Typically, each array represents a row and each element represents a column in that row. When you need to retrieve specific columns from a two-dimensional array, you can use multiple functions and techniques provided by PHP to achieve this.
Method 1: Use foreach loop
Using foreach loop to traverse a two-dimensional array is a simple and direct way. During the loop, you can use array subscripts to retrieve specific columns in each array. For example, the following program shows how to retrieve a specific column from a two-dimensional array. The array has two rows, representing "name" and "age" respectively. There are two columns in each row, which are the names and ages of "Zhang San" and "Li Si".
$students = array( array("name" => "张三", "age" => 18), array("name" => "李四", "age" => 20) ); foreach($students as $row){ echo $row["name"] ."的年龄是:".$row["age"]."<br>"; }
In the above program, the $students array is traversed using a foreach loop. In each loop, $row contains an element of the current array, an associative array containing the "name" and "age" columns. The subscripts "name" and "age" represent the two columns in the array respectively. You can use $row["name"] and $row["age"] to get these two columns respectively.
Method 2: Use the array_column function
The array_column function is a function provided by PHP for obtaining the specified column in a multi-dimensional array. This function requires two parameters. The first parameter is the original array of the column to be retrieved, and the second parameter specifies the name (subscript) of the column to be retrieved.
The following program shows how to use the array_column function to get a specific column from a two-dimensional array. This array is identical to the $students array in the above program. The column that needs to be taken out is the "name" column.
$names = array_column($students, "name"); print_r($names);
In the above program, the "name" column is taken out from the $students array using the array_column function and then stored in the $names array. The result of printing the $names array is:
Array ( [0] => 张三 [1] => 李四 )
Method 3: Using the array_map function
The array_map function is another very useful function of PHP, which can convert the elements in one or more arrays Pass a callback function and store the function's return value in a new array.
The following program shows how to use the array_map function to get specific columns from a two-dimensional array. This array is identical to the $students array in the above program. The column that needs to be taken out is the "age" column.
$ages = array_map(function($row) { return $row['age']; }, $students); print_r($ages);
In the above program, an anonymous function is used to remove the "age" column from the $students array. Use the array_map function to iterate through the $students array, taking out one row of data from the array at a time, then calling an anonymous function to take out the "age" column in that row, and finally storing the result in the $ages array. The result of printing the $ages array is:
Array ( [0] => 18 [1] => 20 )
Summary
The above are three methods of extracting columns from PHP two-dimensional arrays. Among them, using the foreach loop is the most basic method, and it is also very easy to understand and master; using the array_column function can quickly take out all the values of the specified column and store them in a new array; and using the array_map function is very flexible , you can easily call a custom callback function to process a certain column in each row of data. Depending on the situation, you can choose the method that works best for you to process columns in a two-dimensional array.
The above is the detailed content of How to get columns from php two-dimensional array. For more information, please follow other related articles on the PHP Chinese website!