이제 위 배열 데이터가 있는데 다음 배열 데이터로 변경하고 싶습니다. 변경할 수 있나요?
가장 중요한 것은 두 어레이의 동일한 위치를 병합한 다음 새 어레이를 열어 서로 다른 위치를 저장하는 것입니다
이제 위 배열 데이터가 있는데 다음 배열 데이터로 변경하고 싶습니다. 변경할 수 있나요?
가장 중요한 것은 두 어레이의 동일한 위치를 병합한 다음 새 어레이를 열어 서로 다른 위치를 저장하는 것입니다
특정 필드를 반복적으로 꺼내서 사용하고 싶을 수도 있습니다.
<code> $simiArray = []; foreach($resourceArray as $rVal) { $order_sn = $rVal['order_sn']; $simiArray[$rVal['order_sn']]['order_sn'] = $rVal['order_sn']; $simiArray[$order_sn]['order_add_time'] = $rVal['order_add_time']; $simiArray[$rVal['order_sn']]['pay_amonut'] = $rVal['pay_amonut']; unset($rVal['order_sn']); unset($rVal['order_add_time']); unset($rVal['pay_amonut']); $simiArray[$order_sn]['order_detail'][] = $rVal; } </code>
구현 가능하지만 표준 라이브러리에는 이 함수와 함께 함수가 없어야 하므로 직접 작성해야 합니다.
지금은 코드를 작성하는 것이 편리하지 않으므로 먼저 아이디어를 드리겠습니다.
두 배열이 입력되면 첫 번째 배열을 순회합니다. 두 배열의 현재 키 값이 동일하면 해당 값을 새 배열에 푸시하고 두 입력 배열 값에서 키를 삭제합니다. 두 배열의 값이 달라도 걱정하지 마세요.
이런 방식으로 처리한 후 두 배열 사이에 동일한 키-값 쌍을 저장하는 배열과 다른 내용만 저장하는 두 배열(위에서 동일한 항목이 삭제되었기 때문에)을 얻을 수 있으며, 마지막으로 마지막 두 배열을 첫 번째 배열로 바꿉니다.
PS: 배열에서 요소를 삭제하면 성능 문제가 발생할 수 있습니다. 두 개의 개별 배열에 저장할 수 있습니다.