Home > Article > Backend Development > php array row to column
In PHP, array is a very commonly used data structure. But sometimes, we need to operate on the array and convert rows to columns or columns to rows. This article will introduce you how to convert rows to columns in a PHP array.
Row to column refers to converting each row in the array into a column to generate a new array. For example, we have an array named $array that contains the following data:
$array = array( array('name'=>'张三', 'age'=>18, 'sex'=>'男'), array('name'=>'李四', 'age'=>20, 'sex'=>'男'), array('name'=>'王五', 'age'=>22, 'sex'=>'女') );
We want to convert it into an array in the following format:
$new_array = array( 'name' => array('张三', '李四', '王五'), 'age' => array(18, 20, 22), 'sex' => array('男', '男', '女') );
The following is the code to implement row conversion:
$new_array = array(); foreach($array as $key=>$value){ foreach($value as $k=>$v){ $new_array[$k][$key] = $v; } }
Code explanation:
$new_array
to store the results after rows are converted to columns. $array
. $new_array
. If you need to convert a multi-dimensional array, you can use recursive method to achieve it. The following is the code to implement multi-dimensional array row to column conversion:
function array_row2column($array){ if(!is_array($array)){ return false; } $new_array = array(); foreach($array as $key=>$value){ foreach($value as $k=>$v){ $new_array[$k][$key] = (is_array($v)) ? array_row2column($v) : $v; } } return $new_array; }
Code explanation:
array_row2column()
, which is used to convert multi-dimensional arrays into rows and columns. Arrays perform row-to-column operations. $array
is an array, and if not, return false. $new_array
to store the result after rows are converted to columns. $array
. $new_array
. $new_array
. At this point, we have completed the row to column operation. I hope this article will be helpful to everyone.
The above is the detailed content of php array row to column. For more information, please follow other related articles on the PHP Chinese website!