PHP 배열 중복 제거 시 빈 값과 null 값을 처리하기 위한 팁: array_filter와 함께 array_unique를 사용하여 빈 값과 null 값을 필터링합니다. array_unique를 사용하고 null과 null 값을 동일하게 처리하는 사용자 정의 비교 함수를 정의하십시오. array_reduce를 사용하여 배열을 반복하고 빈 값이나 null 값이 포함되지 않은 경우 항목을 추가합니다.
PHP 배열 중복 제거 시 null 및 null 값 처리 팁
질문
배열에서 중복 항목을 지울 때 null 및 null 값을 처리하는 방법을 고려해야 합니다. 기본적으로 빈 문자열과 null 값은 서로 다른 값으로 처리되어 예상치 못한 중복이 발생할 수 있습니다.
팁
빈 값과 null 값을 처리하기 위한 세 가지 일반적인 기술:
array_filter
함수와 함께 array_unique
함수 사용: array_unique
函数搭配array_filter
函数:$arr = ['red', 'blue', 'green', null, '', 'red']; $filtered_arr = array_filter($arr); $result = array_unique($filtered_arr);
array_unique
函数并定义自定义比较函数:$arr = ['red', 'blue', 'green', null, '', 'red']; function cmp($a, $b) { return $a === $b; } $result = array_unique($arr, SORT_REGULAR, 'cmp');
array_reduce
$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 ) )
위 내용은 PHP 배열 중복 제거 시 빈 값 및 null 값 처리 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!