현재 위치: > 최신 기사 목록> Ternary 운영자를 결합하여 Array_Filter () 가독성을 향상시킵니다

Ternary 운영자를 결합하여 Array_Filter () 가독성을 향상시킵니다

M66 2025-06-03

PHP에서 array_filter ()는 주어진 콜백 함수에 따라 배열의 요소를 필터링하는 매우 일반적인 기능입니다. 기준을 충족하지 않는 요소를 제거하여 새로운 배열을 생성합니다. Array_Filter () 는 간결한 도구이지만 합리적인 사용없이 코드의 가독성이 줄어들 수 있습니다. 코드의 가독성을 향상시키기 위해 3 배 연산자를 사용하여 콜백 기능 작성을 단순화 할 수 있습니다.

1. array_filter () 함수의 기본 사용

Array_Filter () 함수는 배열과 콜백 함수의 두 매개 변수를 허용합니다. 배열의 각 요소를 반복하고, 콜백 함수의 반환 값이 true 인 요소를 유지하고, 반환 값이 false 인 요소를 필터링합니다.

 <?php
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];

$filteredNumbers = array_filter($numbers, function($number) {
    return $number % 2 === 0;  // 숫자 만 유지됩니다
});

print_r($filteredNumbers);
?>

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

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

2. Ternary 연산자를 사용하여 콜백 함수를 최적화하십시오

Ternary Operator ( ? :)는 우리가 한 줄 내에서 조건부 판단을 할 수있는 간결한 조건부 표현입니다. Ternary 연산자를 사용하여 array_filter () 에서 콜백 함수의 논리를 단순화하여 더 간결하고 읽기 쉬운 읽기를 할 수 있습니다. 특히 값이 단순 해야하는 경우, 3 원 운영자는 코드를보다 컴팩트하게 만들 수 있습니다.

모든 요소를 ​​5보다 크게 유지하고 배열을 필터링하려고한다고 가정합니다. 3 배 연산자를 통해이 논리를 구현할 수 있습니다.

 <?php
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];

$filteredNumbers = array_filter($numbers, function($number) {
    return $number > 5 ? true : false;  // 더 큰 경우5,반품 true
});

print_r($filteredNumbers);
?>

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

 Array
(
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)

이 예에서 3 원 운영자 ? true : false는 숫자> 5 의 조건이 참인지를 결정하는 데 사용됩니다. 그것이 사실이라면, 그것은 true를 반환하고, 그렇지 않으면 거짓을 반환합니다. 반품 $ 번호> 5; 또한 동일한 효과를 달성 할 수 있습니다. 3 원 운영자를 통해보다 복잡한 판단이 필요할 때 코드를 간결하게 유지할 수 있습니다.

3. 실제 응용 프로그램 : 3 원 운영자를 사용하여보다 복잡한 조건을 처리합니다.

URL이 포함 된 배열을 필터링해야한다고 가정하고 http://m66.net 으로 시작하는 URL 만 유지됩니다. 이 경우 3 원 운영자를 사용하여 판단 논리를 단순화 할 수 있습니다.

 <?php
$urls = [
    'http://m66.net/page1',
    'http://example.com/page2',
    'http://m66.net/page3',
    'http://anotherdomain.com/page4',
];

$filteredUrls = array_filter($urls, function($url) {
    return strpos($url, 'http://m66.net') === 0 ? true : false;  // 보유합니다 m66.net 시작 URL
});

print_r($filteredUrls);
?>

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

 Array
(
    [0] => http://m66.net/page1
    [2] => http://m66.net/page3
)

이 예에서는 strpos ($ url, 'http://m66.net') === 0은 URL이 http://m66.net 으로 시작하는지 여부를 결정하는 데 사용됩니다. Ternary 운영자는이 논리를 간결하게 처리 할 수 ​​있도록합니다.

4. 요약

Array_Filter ()를 사용하는 경우, 특히 콜백 기능의 조건 판단이 간단 할 때 Ternary 연산자를 소개하여 코드 가독성과 단순성을 향상시킬 수 있습니다. Ternary 연산자는 우리가 길이 피하는 데 도움이 될 수 있습니다. 동시에, 코드는 더 복잡한 판단을 할 때 간결한 구조를 유지할 수 있습니다.