사례 차이를 무시하면서 PHP 배열에서 중복 문자열을 효율적으로 제거 할 수 있습니까?
를 사용하여 소문자를 적용하기 전에 사용합니다. 이 접근법은 중첩 된 루프를 피하기 위해 특히 큰 배열에서 성능이 상당히 향상됩니다. 이를 수행 할 수있는 방법은 다음과 같습니다. array_unique()
array_map()
이 코드는 먼저 를 사용하여 배열 요소를 소문자로 변환합니다. 그런 다음
<code class="php"><?php $array = ["apple", "Apple", "banana", "Banana", "orange", "Orange"]; // Convert all strings to lowercase $lowercaseArray = array_map('strtolower', $array); // Use array_unique to remove duplicates (case-insensitive due to prior conversion) $uniqueArray = array_unique($lowercaseArray); //Optionally, you can restore the original casing if needed. This requires a more complex solution, potentially using array_search and the original array. //For simplicity, this example keeps the lowercase strings. print_r($uniqueArray); // Output: Array ( [0] => apple [2] => banana [4] => orange ) ?></code>
이 작업에 가장 적합한 PHP 함수는 array_map()
입니다. array_unique()
대형 PHP 배열에서 중복 문자열 (Case-Insensitive)을 제거 할 때 성능 고려 사항이 있습니까? $uniqueArray
또는 유사한 구조로 구현)을 사용하여 중복 제거 과정에서 근접한 시간 조회를 달성 할 수 있습니다. 이는 코드 복잡성이 증가하는 비용으로 성능을 더욱 향상시킬 것입니다. 배열 크기가 다른 코드를 프로파일 링하면 표준 /SplObjectStorage
메소드가 충분한 지 또는 더 많은 고급 기술이 필요한지 확인하는 데 도움이됩니다. 성능 병목 현상을 식별하고 그에 따라 최적화하기 위해 항상 코드를 프로필해야합니다. array_map()
위 내용은 PHP 배열 중복 제거에서 다른 상부 및 하위 케이스가있는 문자열을 다루는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!