>  기사  >  백엔드 개발  >  PHP 배열 행에서 열로

PHP 배열 행에서 열로

WBOY
WBOY원래의
2023-05-19 15:28:39589검색

PHP에서 배열은 매우 일반적으로 사용되는 데이터 구조입니다. 그러나 때로는 배열을 조작하여 행을 열로, 열을 행으로 변환해야 하는 경우도 있습니다. 이 기사에서는 PHP 배열에서 행을 열로 변환하는 방법을 소개합니다.

행 대 열이란 배열의 각 행을 열로 변환하여 새 배열을 생성하는 것을 의미합니다. 예를 들어 다음 데이터를 포함하는 $array라는 배열이 있습니다.

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

이를 다음 형식의 배열로 변환하려고 합니다.

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

다음은 행 변환을 구현하는 코드입니다.

$new_array = array();
foreach($array as $key=>$value){
    foreach($value as $k=>$v){
        $new_array[$k][$key] = $v;
    }
}

코드 설명 :

  1. 먼저 행 변환 후 결과를 저장하기 위해 새로운 배열 $new_array를 생성합니다. $new_array 用于存储行转列后的结果。
  2. 然后,我们使用两个 foreach 循环遍历原数组 $array
  3. 外层遍历每一行,内层遍历每一列,并将每一列的值插入到新数组 $new_array 中。

如果需要转换多维数组,可以使用递归的方法实现。下面是实现多维数组行转列的代码:

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

代码解释:

  1. 首先,我们定义一个函数 array_row2column(),用于将多维数组进行行转列操作。
  2. 然后,我们在函数中判断原数组 $array 是否为数组,如果不是,则返回 false。
  3. 否则,我们创建一个新数组 $new_array 用于存储行转列后的结果。
  4. 我们使用两个 foreach 循环遍历原数组 $array
  5. 外层遍历每一行,内层遍历每一列,并将每一列的值插入到新数组 $new_array 中。
  6. 如果该列的值还是一个数组,则使用递归方法继续处理该数组。
  7. 最后,我们返回新的数组 $new_array
  8. 그런 다음 두 개의 foreach 루프를 사용하여 원래 배열 $array를 순회합니다.

외부 레이어는 각 행을 순회하고, 내부 레이어는 각 열을 순회한 후 각 열의 값을 새 배열 $new_array에 삽입합니다.

🎜🎜다차원 배열을 변환해야 하는 경우 재귀적 방법을 사용하여 변환할 수 있습니다. 다음은 다차원 배열의 행-열 변환을 구현하는 코드입니다. 🎜rrreee🎜코드 설명: 🎜🎜🎜먼저, array_row2column() 함수를 정의합니다. 다차원 배열을 행과 열로 변환합니다. 🎜🎜그런 다음 함수에서 원래 배열 $array가 배열인지 확인하고, 그렇지 않으면 false를 반환합니다. 🎜🎜그렇지 않으면 행 변환 후 결과를 저장하기 위해 새 배열 $new_array를 만듭니다. 🎜🎜두 개의 foreach 루프를 사용하여 원래 배열 $array를 순회합니다. 🎜🎜외부 레이어는 각 행을 순회하고, 내부 레이어는 각 열을 순회한 후 각 열의 값을 새 배열 $new_array에 삽입합니다. 🎜🎜열의 값이 여전히 배열인 경우 재귀적 방법을 사용하여 배열 처리를 계속하세요. 🎜🎜마지막으로 새 배열 $new_array를 반환합니다. 🎜🎜🎜이제 행에서 열까지의 작업이 완료되었습니다. 이 기사가 모든 사람에게 도움이 되기를 바랍니다. 🎜

위 내용은 PHP 배열 행에서 열로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.