Home Backend Development PHP Problem php array row to column

php array row to column

May 19, 2023 pm 03:28 PM

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'=>'女')
);
Copy after login

We want to convert it into an array in the following format:

$new_array = array(
    'name' => array('张三', '李四', '王五'),
    'age' => array(18, 20, 22),
    'sex' => array('男', '男', '女')
);
Copy after login

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;
    }
}
Copy after login

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;
}
Copy after login

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)