>백엔드 개발 >PHP 문제 >PHP에서 배열 번호가 반복되는지 확인하는 방법 및 중복을 제거하는 방법

PHP에서 배열 번호가 반복되는지 확인하는 방법 및 중복을 제거하는 방법

PHPz
PHPz원래의
2023-04-23 09:12:051197검색

일상적인 개발 과정에서, 특히 양식 데이터, 통계 데이터 등을 처리할 때 배열 번호가 반복되는지 확인하고 제거해야 하는 경우가 종종 있습니다. 이 기사에서는 배열 번호가 반복되는지 확인하고 중복을 제거하기 위한 PHP의 여러 구현 방법을 소개합니다.

1. count 및 array_unique 함수를 사용하세요.

PHP에서는 count 함수를 사용하여 배열 요소의 개수를 세고, array_unique 함수를 사용하면 배열에서 중복된 요소를 제거할 수 있습니다. 이 두 함수를 함께 사용하면 배열의 숫자가 반복되는지 확인하고 제거할 수 있습니다.

샘플 코드:

$arr = array(1,3,2,3,4,1,5);//测试数组
$count = count($arr);//统计数组元素的个数
$unique_count = count(array_unique($arr));//去重后的数组元素个数
if($count == $unique_count){
    echo '数组中没有重复的数字';
} else {
    echo '数组中有重复的数字';
}

출력 결과:

数组中有重复的数字

2. in_array 함수 사용

php의 in_array 함수는 요소가 배열에 있는지 확인하는 데 사용됩니다. in_array 함수를 사용하여 배열을 탐색하고 배열에 중복된 요소가 있는지 확인할 수 있습니다.

샘플 코드:

$arr = array(1,3,2,3,4,1,5);//测试数组
$repeat_flag = false;// 判断数组中是否存在重复元素的标志
for($i=0;$i<count($arr)-1;$i++){
    for($j=$i+1;$j<count($arr);$j++){
        if($arr[$i] == $arr[$j]) {// 数组中存在重复元素
            $repeat_flag = true;
            break;// 跳出循环
        }
    }
}
if($repeat_flag){
    echo &#39;数组中有重复的数字&#39;;
} else {
    echo &#39;数组中没有重复的数字&#39;;
}

출력 결과는

数组中有重复的数字

3입니다. array_count_values ​​​​함수를 사용하세요

PHP의 array_count_values ​​​​함수는 배열에서 동일한 요소의 수를 계산하고 연관 배열을 반환할 수 있습니다. 여기서 키는 값 배열의 요소를 나타내며, 값은 해당 요소가 배열에 나타나는 횟수를 나타냅니다. array_count_values ​​함수를 사용하여 배열의 각 요소가 나타나는 횟수를 계산할 수 있습니다. 요소가 1개 이상 나타나면 해당 요소가 반복된다는 의미입니다.

샘플 코드:

$arr = array(1,3,2,3,4,1,5);//测试数组
$n_arr = array_count_values($arr);// 利用array_count_values函数统计数组中每个元素出现次数
$repeat_flag = false;// 判断数组中是否存在重复元素的标志
foreach($n_arr as $n){
    if($n>1) {// 数组中存在重复元素
        $repeat_flag=true;
        break;// 跳出循环
    }
}
if($repeat_flag){
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}

출력 결과는 다음과 같습니다.

数组中有重复的数字

4. array_flip 및 array_keys 함수 사용

PHP의 array_flip 함수는 배열의 키와 값을 교환하고 새 배열을 반환할 수 있습니다. array_keys 함수와 결합하면 새 배열의 값을 원본 배열의 키로 사용하여 원본 배열에 중복 요소가 있는지 확인할 수 있습니다.

샘플 코드:

$arr = array(1,3,2,3,4,1,5);//测试数组
$new_arr = array_flip($arr);// 利用array_flip函数交换数组中的键和值
$repeat_flag=false;// 判断数组中是否存在重复元素的标志
foreach(array_keys($new_arr) as $k){// 将新数组中的值作为原数组中的键
    if(count($arr)-count(array_keys($arr,$k))>1){// 判断原数组中是否存在重复元素
        $repeat_flag=true;// 存在重复元素
        break;
    }
}
if($repeat_flag){
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}

출력 결과:

数组中有重复的数字

5. array_unique 및 array_diff 함수를 사용하여 배열에 중복 요소가 있는지 확인합니다.

PHP의 array_diff 함수는 배열의 차이를 계산하고 결과를 반환할 수 있습니다. 차이 배열. array_unique 함수와 결합하면 원본 배열과 중복 제거된 배열의 차이를 확인한 다음 원본 배열에 중복 요소가 있는지 확인할 수 있습니다.

샘플 코드:

$arr = array(1,3,2,3,4,1,5);//测试数组
$unique_arr = array_unique($arr);// 利用array_unique函数去重
$diff_arr = array_diff($arr,$unique_arr);// 计算原数组与去重后的数组的差集,并返回差集数组
if(!empty($diff_arr)){// 差集不为空,说明原数组中存在重复元素
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}

출력 결과는 다음과 같습니다.

数组中有重复的数字

위는 배열 번호가 반복되는지 확인하고 PHP에서 중복을 제거하기 위한 여러 구현 방법입니다. 다양한 방법에는 장점과 단점이 있으므로 실제 상황에 따라 적절한 방법을 선택하여 더 나은 결과를 얻을 수 있습니다.

위 내용은 PHP에서 배열 번호가 반복되는지 확인하는 방법 및 중복을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.