<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 이 부분은 기사의 내용과 관련이 없습니다.,어떤 것을 포함 할 수 있습니다 PHP 주석 또는 간단한 변수 정의</span></span><span>
</span><span><span class="hljs-variable">$dummy</span></span><span> = </span><span><span class="hljs-string">"이것은 독립적 인 코드입니다"</span></span><span>;
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">placeholderFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"자리 표시 자 기능 출력"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* PHP 결합하는 방법 array_udiff_assoc 그리고 array_map 배열 요소의 정확한 비교를 달성합니다?
*
* 존재하다 PHP 가운데,두 배열의 요소를 비교해야 할 때,비교 과정이 주요 이름을 고려할 수 있기를 바랍니다.、값과 사용자 정의 비교 로직,
* array_udiff_assoc 그리고 array_map 이것들은 매우 유용한 두 가지 도구입니다。이 기사는 배열 요소를 정확하게 비교하기 위해이를 결합하는 방법을 자세히 설명합니다.。
*
* 1. array_udiff_assoc 소개
* array_udiff_assoc() 두 배열의 차이점을 비교하는 데 사용됩니다,同时考虑键名그리고键值。기능 프로토 타입은 다음과 같습니다:
*
* array_udiff_assoc(array $array1, array $array2, callable $value_compare_func): array
*
* 여기 $value_compare_func 콜백 함수입니다,사용자 정의 값에 대한 비교 로직。
*
* 2. array_map 소개
* array_map() 可以对数组가운데的每个요소应用回调函数,새 배열을 생성하십시오。프로토 타입은 다음과 같습니다:
*
* array_map(callable $callback, array ...$arrays): array
*
* 통과하다 array_map,我们可以존재하다比较前对数组요소进行标准化处理(예를 들어, 공간을 제거하십시오、통합 사례 등)。
*
* 3. 아이디어의 조합
* - 사용 array_map 두 배열의 통합 처리,요소를 일관성있게 만듭니다。
* - 然后사용 array_udiff_assoc 두 배열의 비교,사용자 정의 콜백을 사용하여보다 정확한 불일치 판단을 달성하십시오。
*
* 샘플 코드:
*/</span>
</span><span><span class="hljs-comment">// 원래 배열</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [
</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-string">' Apple '</span></span><span>,
</span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-string">'Banana'</span></span><span>,
</span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-string">'Cherry'</span></span><span>
];
</span><span><span class="hljs-variable">$array2</span></span><span> = [
</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-string">'apple'</span></span><span>,
</span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-string">'banana '</span></span><span>,
</span><span><span class="hljs-string">'d'</span></span><span> => </span><span><span class="hljs-string">'Date'</span></span><span>
];
</span><span><span class="hljs-comment">// 배열 요소의 통합 처리(전면과 후면 공간을 제거하고 소문자를 돌립니다)</span></span><span>
</span><span><span class="hljs-variable">$normalizedArray1</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>));
}, </span><span><span class="hljs-variable">$array1</span></span><span>);
</span><span><span class="hljs-variable">$normalizedArray2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>));
}, </span><span><span class="hljs-variable">$array2</span></span><span>);
</span><span><span class="hljs-comment">// 사용자 정의 비교 기능</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">compareValues</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value1</span></span></span><span>, </span><span><span class="hljs-variable">$value2</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$value1</span></span><span>, </span><span><span class="hljs-variable">$value2</span></span><span>);
}
</span><span><span class="hljs-comment">// 사용 array_udiff_assoc 얻다 $array1 가운데与 $array2 다른 요소</span></span><span>
</span><span><span class="hljs-variable">$difference</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_udiff_assoc</span></span><span>(</span><span><span class="hljs-variable">$normalizedArray1</span></span><span>, </span><span><span class="hljs-variable">$normalizedArray2</span></span><span>, </span><span><span class="hljs-string">'compareValues'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"두 배열의 정확한 비교 후 차이 요소:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$difference</span></span><span>);
<span class="hljs-comment">/**
* 출력 결과:
* Array
* (
* [c] => cherry
* )
*
* 설명하다:
* - 요소 'c' => 'Cherry' 존재하다 $array2 가운데不存존재하다,따라서 차이로 식별됩니다。
* - 요소 'a' 그리고 'b' 통과하십시오 trim 그리고 strtolower 표준화 후,동일하게 간주됩니다,因此不존재하다结果가운데。
*
* 요약:
* 통과하다结合 array_map 그리고 array_udiff_assoc,可以존재하다比较数组时做到既考虑键名,가치도 고려하십시오,并且可以통과하다回调函数自定义比较规则,
* 복잡한 데이터 차이 분석 요구 사항에 적합합니다。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
관련 태그:
array_map