PHP에서 빈 배열 요소를 제거하는 방법

Minahil Noor 2023년1월30일
  1. array_filter()함수를 사용하여 PHP에서 빈 배열 요소 제거
  2. array_diff()함수를 사용하여 PHP에서 빈 배열 요소 제거
  3. PHP에서 빈 배열 요소를 제거하기 위해 unset()함수 사용
PHP에서 빈 배열 요소를 제거하는 방법

이 기사에서는 PHP에서 빈 배열 요소를 제거하는 방법을 소개합니다.

  • array_filter()함수 사용
  • array_diff()함수 사용
  • unset()함수 사용

array_filter()함수를 사용하여 PHP에서 빈 배열 요소 제거

내장 함수 array_filter()는 배열에서 모든 빈 요소, 0, false 및 null 값을 제거합니다. 이 함수는 콜백 함수를 사용하여 배열 값을 필터링합니다. 콜백 함수가 지정되지 않은 경우 빈 요소, 0,falsenull 값을 제거합니다.

이 기능을 사용하는 올바른 구문은 다음과 같습니다

array_filter($arrayName, $callbackFunction, $callbackParameter)

여기서$arrayName은 유일한 필수 매개 변수입니다. $callbackFunction 매개 변수는 배열 작업에 지정된 콜백 함수입니다. $callbackParameter 매개 변수는 콜백 함수에 전달 된 매개 변수를 알려줍니다.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                0,
                "Hibiscus",
                "",
                "Tulip",
                null,
                "Sun Flower",
                "Daffodil",
                "Daisy");

$flowers = array_filter($flowers);
echo "The array is:\n";
print_r($flowers);
?>

콜백 함수를 지정하지 않았으므로 반환 된 배열에는 빈 요소, 0 및 null 값이 없습니다.

출력:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [3] => Jasmine
    [4] => Hibiscus
    [6] => Tulip
    [8] => Sun Flower
    [10] => Daffodil
    [11] => Daisy
)

array_diff()함수를 사용하여 PHP에서 빈 배열 요소 제거

내장 함수 array_diff()는 둘 이상의배열 의 차이를 찾는 데 사용됩니다. 배열에서 빈 요소를 삭제하는 데 사용할 수 있습니다. 배열을 다시 색인화하지 않습니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다.

array_diff($array1, $array2, $array3, ... , $arrayN);

N 개의 매개 변수 (배열)가 필요합니다. 첫 번째 배열을 다른 모든 배열과 비교합니다. 다른 배열에없는 첫 번째 배열의 모든 요소가 포함 된 배열을 반환합니다.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                0,
                "Hibiscus",
                "",
                "Tulip",
                null,
                "Sun Flower",
                "Daffodil",
                "Daisy");

$flowers = array_diff($flowers, array("",0,null));
echo "The array is:\n";
print_r($flowers);
?>

여기에서는 배열을 빈 문자열, 0 및 null 값을 포함하는 배열과 비교했습니다. 그런 다음 반환 된 배열에는 빈 요소가 없습니다.

출력:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [3] => Jasmine
    [4] => Hibiscus
    [6] => Tulip
    [8] => Sun Flower
    [10] => Daffodil
    [11] => Daisy
)

PHP에서 빈 배열 요소를 제거하기 위해 unset()함수 사용

unset() 함수는 변수에 저장된 값을 제거합니다. 이를 사용하여 배열에서 빈 요소를 제거 할 수 있습니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다.

unset($variableName);

하나의 매개 변수$variableName 만 허용합니다. $variableName은 값을 제거하려는 변수입니다.

<?php
//Declare the array
$flowers = array("Rose","Lili","","Jasmine","Hibiscus","Tulip","Sun Flower","","Daffodil","Daisy");
foreach($flowers as $key => $link) 
{ 
    if($link === '') 
    {
        unset($flowers[$key]); 
    } 
} 
echo "The array is:\n";
print_r($flowers);
?>

여기에서는 foreach루프를 사용하여 빈 배열 요소를 찾았습니다. 배열 요소가 비어 있으면 배열 이름과 함께 색인이unset()함수에 매개 변수로 전달됩니다.

출력:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [3] => Jasmine
    [4] => Hibiscus
    [5] => Tulip
    [6] => Sun Flower
    [8] => Daffodil
    [9] => Daisy
)

관련 문장 - PHP Array