>  기사  >  백엔드 개발  >  PHP 배열 중복 제거 시 빈 값 및 null 값 처리 팁

PHP 배열 중복 제거 시 빈 값 및 null 값 처리 팁

王林
王林원래의
2024-04-26 17:03:01331검색

PHP 배열 중복 제거 시 빈 값과 null 값을 처리하기 위한 팁: array_filter와 함께 array_unique를 사용하여 빈 값과 null 값을 필터링합니다. array_unique를 사용하고 null과 null 값을 동일하게 처리하는 사용자 정의 비교 함수를 정의하십시오. array_reduce를 사용하여 배열을 반복하고 빈 값이나 null 값이 포함되지 않은 경우 항목을 추가합니다.

PHP 数组去重时处理空值和 null 值的技巧

PHP 배열 중복 제거 시 null 및 null 값 처리 팁

질문

배열에서 중복 항목을 지울 때 null 및 null 값을 처리하는 방법을 고려해야 합니다. 기본적으로 빈 문자열과 null 값은 서로 다른 값으로 처리되어 예상치 못한 중복이 발생할 수 있습니다.

빈 값과 null 값을 처리하기 위한 세 가지 일반적인 기술:

  1. array_filter 함수와 함께 array_unique 함수 사용: array_unique函数搭配array_filter函数:
$arr = ['red', 'blue', 'green', null, '', 'red'];

$filtered_arr = array_filter($arr);
$result = array_unique($filtered_arr);
  1. 使用array_unique函数并定义自定义比较函数:
$arr = ['red', 'blue', 'green', null, '', 'red'];

function cmp($a, $b) {
    return $a === $b;
}

$result = array_unique($arr, SORT_REGULAR, 'cmp');
  1. 使用array_reduce
  2. $arr = ['red', 'blue', 'green', null, '', 'red'];
    
    $result = array_reduce($arr, function($carry, $item) {
        if (!in_array($item, $carry) || $item !== '') {
            $carry[] = $item;
        }
        return $carry;
    }, []);

      array_unique 함수를 사용하고 사용자 정의 비교 함수 정의:

      $users = [
          ['name' => 'John Doe', 'age' => 30],
          ['name' => 'Jane Doe', 'age' => 25],
          ['name' => 'John Doe', 'age' => 30], // 重复项
          ['name' => null, 'age' => null], // 空值
      ];
      
      $unique_users = array_filter($users);
      $unique_users = array_unique($unique_users);
      
      print_r($unique_users);

        array_reduce 사용 함수:

        Array
        (
            [0] => Array
                (
                    [name] => John Doe
                    [age] => 30
                )
            [1] => Array
                (
                    [name] => Jane Doe
                    [age] => 25
                )
        )

        🎜실용 사례🎜🎜🎜다음 예에서는 첫 번째 기술을 사용하여 비어 있고 null 값이 포함된 배열을 필터링하고 중복 제거하는 방법을 보여줍니다. 🎜rrreee🎜🎜출력: 🎜🎜rrreee

    위 내용은 PHP 배열 중복 제거 시 빈 값 및 null 값 처리 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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