> 백엔드 개발 > PHP 문제 > PHP 배열 객체를 배열 객체로 변환하는 방법

PHP 배열 객체를 배열 객체로 변환하는 방법

PHPz
풀어 주다: 2023-04-27 14:32:14
원래의
477명이 탐색했습니다.

PHP에서는 배열 개체를 다른 배열 개체로 변환해야 하는 경우가 있습니다. 이 프로세스는 어렵지 않으며 몇 줄의 간단한 코드만으로 완료할 수 있습니다.

배열 개체를 배열 개체로 변환하는 주요 단계는 다음과 같습니다.

  1. 소스 데이터 정의

여러 개체 요소를 포함하는 소스 배열 개체가 있고 각 요소에는 여러 속성이 있다고 가정합니다. 이러한 객체 요소를 다른 배열 객체로 변환해야 하며 각 요소에는 특정 속성만 포함하면 됩니다.

코드는 다음과 같습니다.

$sourceArray = array(
    (object) array('id' => 1, 'name' => 'John', 'age' => 25),
    (object) array('id' => 2, 'name' => 'Amy', 'age' => 35),
    (object) array('id' => 3, 'name' => 'Bob', 'age' => 28),
    (object) array('id' => 4, 'name' => 'Cathy', 'age' => 30)
);
로그인 후 복사
  1. 대상 데이터 구조 정의

대상 배열 객체의 데이터 구조, 즉 각 요소에 어떤 속성이 포함되어 있는지 정의해야 합니다. 대상 배열의 각 요소에 소스 배열의 모든 속성이 포함되어 있으면 대상 배열은 변환 없이 소스 배열과 직접 동일할 수 있습니다.

$targetStructure = array(
    'id' => '',
    'name' => '',
);
로그인 후 복사
  1. 변환 구현

이제 소스 배열과 대상 배열의 데이터 구조가 있으므로 다음 단계는 변환 프로세스를 처리하는 것입니다. foreach 루프를 사용하여 소스 배열의 각 요소를 반복하고 대상 배열의 데이터 구조를 기반으로 소스 배열의 해당 특성을 대상 배열에 복사할 수 있습니다.

$targetArray = array();

foreach ($sourceArray as $sourceObject) {
    $targetObject = array();

    foreach ($targetStructure as $key => $value) {
        $targetObject[$key] = $sourceObject->$key;
    }

    $targetArray[] = (object) $targetObject;
}
로그인 후 복사

위 코드에서는 먼저 변환된 데이터를 저장하기 위해 빈 배열 $targetArray를 정의했습니다. 그런 다음 소스 배열에서 foreach 루프를 수행하여 각 요소 $sourceObject를 반복했습니다. 내부 루프에서는 대상 배열의 $targetStructure가 루프되어 해당 을 생성합니다. 마지막으로 각 대상 요소를 새 개체로 변환하고 $targetArray에 추가합니다. $targetArray,用于保存转换后的数据。接着我们对源数组进行了 foreach 循环,遍历了每个元素 $sourceObject。在内层循环中,则是对目标数组的 $targetStructure 进行了循环,生成对应的 keyvalue 。最后,我们将每个目标元素转换成一个新的对象,并将其添加到 $targetArray 中。

  1. 输出结果

最后,我们可以输出经过转换后的目标数组,检查转换是否成功。我们可以使用 print_r() 函数输出数组,也可以使用 json_encode()

    출력 결과

    마지막으로 변환된 타겟 배열을 출력하여 변환 성공 여부를 확인할 수 있습니다. print_r() 함수를 사용하여 배열을 출력하거나 json_encode() 함수를 사용하여 배열을 JSON 형식으로 변환하여 출력 결과를 쉽게 볼 수 있습니다. .

    echo json_encode($targetArray);
    로그인 후 복사
    🎜이렇게 해서 배열 객체 변환의 모든 단계를 완료했습니다. 전체 코드는 다음과 같습니다. 🎜
    $sourceArray = array(
        (object) array('id' => 1, 'name' => 'John', 'age' => 25),
        (object) array('id' => 2, 'name' => 'Amy', 'age' => 35),
        (object) array('id' => 3, 'name' => 'Bob', 'age' => 28),
        (object) array('id' => 4, 'name' => 'Cathy', 'age' => 30)
    );
    
    $targetStructure = array(
        'id' => '',
        'name' => '',
    );
    
    $targetArray = array();
    
    foreach ($sourceArray as $sourceObject) {
        $targetObject = array();
    
        foreach ($targetStructure as $key => $value) {
            $targetObject[$key] = $sourceObject->$key;
        }
    
        $targetArray[] = (object) $targetObject;
    }
    
    echo json_encode($targetArray);
    로그인 후 복사
    🎜실제 개발에서는 데이터 처리 및 필터링을 더 수행해야 할 수도 있지만 일반적인 아이디어는 위의 예제 코드와 기본적으로 동일합니다. 데이터 변환이 필요한 경우 실제 상황에 따라 코드를 수정하고 해당 데이터 처리를 완료할 수 있습니다. 🎜

위 내용은 PHP 배열 객체를 배열 객체로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿