Home  >  Article  >  Backend Development  >  php array row to column

php array row to column

WBOY
WBOYOriginal
2023-05-19 15:28:39589browse

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:

  1. First, we create a new array $new_array to store the results after rows are converted to columns.
  2. Then, we use two foreach loops to traverse the original array $array.
  3. The outer layer traverses each row, the inner layer traverses each column, and inserts the value of each column into the new 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:

  1. First, we define a function array_row2column(), which is used to convert multi-dimensional arrays into rows and columns. Arrays perform row-to-column operations.
  2. Then, we determine in the function whether the original array $array is an array, and if not, return false.
  3. Otherwise, we create a new array $new_array to store the result after rows are converted to columns.
  4. We use two foreach loops to traverse the original array $array.
  5. The outer layer traverses each row, the inner layer traverses each column, and inserts the value of each column into the new array $new_array.
  6. If the value of the column is still an array, use the recursive method to continue processing the array.
  7. Finally, we return the 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!

Statement:
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