PHP에서는 검색, 정렬, 중복 제거 등 배열에 대한 다양한 작업을 수행해야 하는 경우가 많습니다. 중복 제거 작업은 배열에서 중복된 요소를 제거하는 것입니다. 실제 개발 과정에서 동일한 숫자를 지워야 하는 상황이 자주 발생합니다. 이 글에서는 PHP 배열을 사용하여 중복된 숫자를 제거하는 방법을 소개합니다.
1. array_unique() 함수
PHP에는 배열에서 중복된 값을 제거하고 새 배열을 반환하는 데 사용할 수 있는 array_unique() 함수가 있습니다. 이 함수는 값 비교를 사용합니다. 즉, 동일한 값을 가진 요소만 중복으로 간주됩니다.
다음은 array_unique() 함수를 사용하여 중복을 제거하는 샘플 코드입니다.
<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5); //去重 $new_array = array_unique($array); //输出去重后的数组 print_r($new_array); ?>
위 코드를 실행하면 출력을 얻을 수 있습니다.
Array ( [0] => 1 [2] => 2 [3] => 3 [4] => 4 [6] => 5 )
중복된 숫자가 제거되고 다른 숫자만 남는 것을 볼 수 있습니다. .
2. 루프 탐색을 사용하여 중복 제거
array_unique() 함수를 사용하는 것 외에도 루프 탐색을 사용하여 중복을 제거할 수도 있습니다. 구체적인 구현은 다음과 같습니다.
<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5); //去重 $new_array = array(); foreach ($array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } //输出去重后的数组 print_r($new_array); ?>
위 코드에서는 빈 배열 $new_array를 사용하여 고유한 숫자를 저장합니다. 그런 다음 foreach 루프를 사용하여 원래 배열 $array를 순회합니다. 현재 요소가 $new_array에 없으면 현재 요소를 $new_array 배열에 추가합니다.
위 코드를 실행하면 이전과 동일한 출력을 얻을 수 있습니다.
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
3. 성능 비교
위에 언급된 두 가지 중복 제거 방법의 성능은 어떻습니까? 비교해 봅시다.
두 메소드의 성능을 비교하기 위해 100,000개의 난수가 포함된 배열을 정의한 후 두 메소드를 사용하여 중복을 제거하고 실행 시간을 계산했습니다. 코드는 다음과 같습니다.
<?php //1. 使用 array_unique() 函数 $array = array(); for ($i = 0; $i < 100000; $i++) { $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array_unique($array); $end_time = microtime(true); echo '使用 array_unique() 函数执行时间:', $end_time - $start_time, ' 秒'; echo "\n"; //2. 使用循环遍历 $array = array(); for ($i = 0; $i < 100000; $i++) { $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array(); foreach ($array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } $end_time = microtime(true); echo '使用循环遍历执行时间:', $end_time - $start_time, ' 秒'; ?>
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
使用 array_unique() 函数执行时间:0.011376142501831 秒 使用循环遍历执行时间:15.46102309227 秒
array_unique() 함수를 사용하는 것이 훨씬 효율적이라는 것을 알 수 있습니다.
4. 요약
실제 개발에서는 프로그램의 실행 효율성을 높이기 위해 루프나 기타 코드를 직접 작성하여 처리하는 대신 PHP에서 제공하는 내장 함수를 사용하도록 노력해야 합니다. 배열에서 동일한 숫자를 제거하는 문제의 경우 PHP에 내장된 array_unique() 함수를 사용하는 것이 가장 간단하고 효율적인 방법이지만, 중복을 제거하기 위해 루프 순회를 사용하는 것은 많은 시간과 자원을 낭비하게 됩니다.
위 내용은 PHP 배열에서 동일한 숫자를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!