Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP foreach 루프로 두 배열의 여러 인덱스 변수 동시에 다루기

PHP foreach 루프에서 두 배열의 인덱스 변수 활용하기

PHP에서 'foreach' 루프는 하나의 배열만 순회하는 데 그치지 않습니다. $index => $value 형태의 키-값 쌍을 활용하면 두 개의 배열을 동일한 인덱스 기준으로 동시에 다룰 수 있으며, 이를 통해 서로 연관된 데이터를 병렬로 처리할 수 있습니다.

기본 원리

'foreach' 루프에서 $index 변수에는 현재 요소의 키(배열 인덱스)가 저장되므로, 같은 인덱스 구조를 가진 다른 배열의 값도 $SecondArray[$index]처럼 참조할 수 있습니다.

예제 코드

<?php
$FirstArray = array('aB', 'PQ', 'cd', 'pm');
$SecondArray = array('12', '34', '90', '49');

foreach($FirstArray as $index => $value) {
    echo $FirstArray[$index].$SecondArray[$index];
    echo "<br/>";
}
?>

출력 결과

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

aB12
PQ34
cd90
pm49

코드 설명

위 예제에서는 두 개의 배열을 선언한 뒤 'foreach' 루프로 첫 번째 배열을 순회합니다. 루프가 진행되면서 각 배열의 동일한 인덱스끼리 매칭되고, 해당 위치에 있는 데이터들이 나란히 화면에 출력됩니다. 즉, 첫 번째 반복에서는 'aB'와 '12', 두 번째 반복에서는 'PQ'와 '34'가 결합되어 표시되는 방식입니다.

참고 사항

Note − 처리해야 할 배열이 세 개 이상이라면 중첩(nested) 'foreach' 루프를 사용하여 여러 배열을 함께 순회할 수 있습니다. 또한 PHP 5.5 이상에서는 제너레이터(generator)나 MultipleIterator를 활용하는 방법도 있으니, 상황에 맞게 선택하면 더 깔끔하고 유지보수하기 좋은 코드를 작성할 수 있습니다.