재귀 비교 알고리즘을 사용하여 배열 구조 비교
질문:
어떻게 생성할 수 있나요? 일치하는 요소가 녹색으로 표시되고 두 배열의 재귀적 비교 일치하지 않는 요소는 빨간색으로 표시됩니까?
답변:
배열을 재귀적으로 비교하는 재귀 diff를 수행하려면 다음에 설명된 것과 같은 사용자 정의 함수를 활용할 수 있습니다. PHP array_diff 함수의 설명:
function arrayRecursiveDiff($aArray1, $aArray2) { $aReturn = array(); foreach ($aArray1 as $mKey => $mValue) { if (array_key_exists($mKey, $aArray2)) { if (is_array($mValue)) { $aRecursiveDiff = arrayRecursiveDiff($mValue, $aArray2[$mKey]); if (count($aRecursiveDiff)) { $aReturn[$mKey] = $aRecursiveDiff; } } else { if ($mValue != $aArray2[$mKey]) { $aReturn[$mKey] = $mValue; } } } else { $aReturn[$mKey] = $mValue; } } return $aReturn; }
이 함수는 키와 값을 반복합니다. 첫 번째 배열의 경우 두 번째 배열에 키가 있는지 확인하고 데이터 유형에 따라 비교를 처리합니다. 구조적 또는 값 불일치가 있는 경우 결과는 $aReturn 배열에 추가됩니다.
재귀 비교의 이점:
구현 고려 사항:
위 내용은 색상으로 구분된 차이가 있는 배열 구조에 대한 재귀적 차이를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!