>  기사  >  백엔드 개발  >  PHP의 배열에서 다른 값을 찾는 방법

PHP의 배열에서 다른 값을 찾는 방법

PHPz
PHPz원래의
2023-04-25 09:02:53657검색

PHP 프로그래밍에서는 배열을 처리해야 하는 경우가 많습니다. 배열을 처리하는 동안 배열에서 다른 값을 찾아야 하는 경우가 있습니다(즉, 반복되는 값이 없습니다). 아래에서는 PHP 배열에서 다양한 값을 찾는 데 도움이 되는 여러 가지 방법을 소개합니다.

방법 1: array_unique 함수를 사용하세요.

array_unique() 함수는 중복된 값이 제거된 배열을 반환합니다. 이 함수는 배열 키를 유지하면서 중복된 값을 제거합니다. 다음은 array_unique() 함수를 사용하는 예입니다:

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $unique_arr = array_unique($arr);
    print_r($unique_arr);

출력:

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [5] => 5
        [7] => 6
    )

이 예에서는 array_unique() 함수를 사용하여 $arr 배열에서 중복된 값을 제거하고 새 배열을 얻습니다. $unique_arr.

그러나 이 방법에는 단점이 있습니다. 즉, 배열에서 서로 다른 값만 찾을 수 있다는 것입니다. 여러 배열에서 서로 다른 값을 찾아야 한다면 추가 코드를 작성해야 합니다.

방법 2: array_diff 함수 사용

array_diff() 함수는 배열의 차이 집합을 계산하는 데 사용됩니다. $arr1 배열의 모든 요소를 ​​포함하지만 $arr2, $arr3 등의 배열은 포함하지 않는 배열을 반환합니다. 다음은 array_diff() 함수를 사용한 예입니다:

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $diff_arr = array_diff($arr1, $arr2);
    print_r($diff_arr);

출력:

    Array
    (
        [0] => 1
        [1] => 2
    )

이 예에서는 array_diff() 함수를 사용하여 $arr1과 $arr2 배열의 차이를 비교하고 새로운 배열을 얻습니다. $arr1 배열에는 요소가 포함되어 있지만 $arr2 배열에는 포함되어 있지 않은 $diff_arr .

다음과 같이 array_diff() 함수의 매개변수로 여러 배열을 사용할 수 있습니다.

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $arr3 = array(5, 6, 7, 8, 9);
    $diff_arr = array_diff($arr1, $arr2, $arr3);
    print_r($diff_arr);

출력:

    Array
    (
        [0] => 1
        [1] => 2
    )

이 예에서는 $arr1과 $arr2, $arr3 배열의 차이를 비교하고 new $diff_arr 배열에는 $arr1 배열의 요소가 포함되어 있지만 $arr2 및 $arr3 배열에는 포함되어 있지 않습니다.

방법 3: 루프 검색 사용

PHP의 foreach 루프는 매우 실용적인 루프 방법입니다. foreach 루프와 if 조건문을 사용하여 배열에서 다른 값을 찾을 수 있습니다. 다음은 foreach 루프와 if 문을 사용하는 예입니다.

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $result_arr = array();    // 新建一个空数组
    foreach ($arr as $value)
    {
        $count = 0;           // 新建一个变量来计数
        foreach ($arr as $sub_value)
        {
            if ($value == $sub_value)
            {
                $count++;
            }
        }
        if ($count == 1)      // 如果计数为1,说明是不同的值
        {
            $result_arr[] = $value;
        }
    }
    print_r($result_arr);

출력:

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 5
        [3] => 6
    )

이 예에서는 다른 값을 저장하기 위해 새로운 빈 배열 $result_arr을 만듭니다. foreach 루프를 사용하여 $arr 배열을 반복한 다음 다른 foreach 루프를 사용하여 배열에 있는 요소의 발생 횟수를 계산하고, 발생 횟수가 1이면 해당 요소를 $result_arr 배열에 추가합니다.

이 방법의 단점은 어레이가 커지면 효율성이 낮아질 수 있다는 것입니다.

방법 4: array_count_values ​​​​함수 사용

array_count_values() 함수는 배열에 있는 모든 값의 발생 횟수를 계산하는 데 사용됩니다. 키가 $arr 배열의 값이고 값이 $arr 배열에 나타나는 횟수인 배열을 반환합니다. 다음은 array_count_values() 함수를 사용하는 예입니다.

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $count_arr = array_count_values($arr);
    $result_arr = array();
    foreach ($count_arr as $key => $value)
    {
        if ($value == 1)
        {
            $result_arr[] = $key;
        }
    }
    print_r($result_arr);

출력:

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 5
        [3] => 6
    )

이 예에서는 array_count_values() 함수를 사용하여 $arr 배열의 각 요소가 나타나는 횟수를 계산한 후 다음을 사용합니다. foreach를 사용하여 결과 배열을 반복하고 발생 횟수가 1인 요소를 찾아 $result_arr 배열에 추가합니다.

이 방법의 장점은 코드가 간결하다는 점이지만, 메모리를 많이 소모할 수 있다는 단점이 있습니다.

결론

위에서는 PHP의 배열에서 서로 다른 값을 찾는 네 가지 방법을 소개합니다. 실제 개발에서는 실제 상황에 따라 가장 적합한 방법을 선택해야 합니다. 배열이 작다면 방법 3이나 4를 사용할 수 있습니다. 여러 배열에서 서로 다른 값을 찾아야 한다면 방법 2를 사용할 수 있습니다. 하나의 배열에서 서로 다른 값만 찾으려면 방법 2를 사용할 수 있습니다. 방법 1.

위 내용은 PHP의 배열에서 다른 값을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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