PHP에서 배열에서 요소를 삭제하는 방법
-
unset()
함수를 사용하여 PHP의 배열에서 요소 삭제 -
array_splice()
함수를 사용하여 PHP의 배열에서 요소 삭제 -
array_diff()
함수를 사용하여 PHP의 배열에서 요소 삭제
이 기사에서는 PHP의array
에서 요소를 삭제하는 메소드를 소개합니다.
unset()
함수 사용array_splice()
함수 사용array_diff()
함수 사용
unset()
함수를 사용하여 PHP의 배열에서 요소 삭제
내장 함수 unset()
는 변수에 저장된 값을 삭제하는 데 사용됩니다. 지역 변수에만 적용됩니다. 전역 변수에 대한 동작을 반영하지 않습니다. 이 함수를 사용하여배열
에서 요소를 삭제할 수 있습니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다
unset($variableName);
단일 필수 매개 변수가 있습니다. 값을 삭제하려는 변수가이 함수에 매개 변수로 전달됩니다.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
unset($flowers[1]);
echo "The array is:\n";
print_r($flowers);
?>
이 기능은 한 번에 하나의 값을 삭제할 수 있습니다. 요소 인덱스 ($flowers[1]
)와 함께 배열의 이름이 매개 변수로 전달됩니다. 이 기능은 인덱스 값을 변경하지 않습니다. 인덱스 값은 이전과 동일하게 유지됩니다.
출력:
The array is:
Array
(
[0] => Rose
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)
보시다시피,unset
함수를 적용한 후에 인덱스1
이 없습니다.
array_splice()
함수를 사용하여 PHP의 배열에서 요소 삭제
array_splice()
함수는array
에 요소를 추가하거나array
에서 요소를 삭제하는 데 사용됩니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다
array_splice($arrayName, $startingIndex, $numOfElements, $array2Name);
네 개의 매개 변수가 있습니다.
$arrayName
은 필수 매개 변수입니다. 요소가 삭제 될 ‘배열’입니다.$startingIndex
는 삭제하고자하는 요소의 인덱스입니다.$numOfElements
는 시작 인덱스에서 삭제하고자하는 요소의 수입니다.$array2Name
은 추가하고자하는 요소의array
입니다.
$numOfElements
와$array2Name
은 선택 사항입니다.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
array_splice($flowers, 4, 3);
echo "The array is:\n";
print_r($flowers);
?>
$flowers
배열은 시작 인덱스 4 및 삭제하고자하는 요소의 수와 함께이 함수에 매개 변수로 전달됩니다. 이런 식으로배열
에서 여러 요소를 삭제할 수 있습니다.
출력:
The array is:
Array
(
[0] => Rose
[1] => Lili
[2] => Jasmine
[3] => Hibiscus
[4] => Daisy
)
unset
과는 달리array_splice
함수는 자동으로 키를 다시 색인화합니다.
Daisy
는 새로운 인덱스를 4로 갖지만 원래 인덱스는 7이 아닙니다.
array_diff()
함수를 사용하여 PHP의 배열에서 요소 삭제
내장 함수 array_diff()
는 둘 이상의배열
의 차이를 찾습니다. 인덱스에 영향을주지 않고 ‘배열’에서 여러 값을 삭제하는 데 사용할 수 있습니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다
array_diff($array1, $array2, $array3, ... , $arrayN);
매개 변수로 N 개의배열
이 필요합니다. 첫 번째 배열을 다른 모든 배열과 비교하고 다른 배열에는없는 첫 번째 배열의 모든 요소를 포함하는 ‘배열’을 반환합니다.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
$flowers = array_diff($flowers, array("Rose","Lili"));
echo "The array is:\n";
print_r($flowers);
?>
여기서 우리가 전달한 첫 번째 배열은$flowers
이고 두 번째 배열에는$flowers
에서 삭제하려는 요소가 포함되어 있습니다. 이 함수는 배열 요소의 인덱스를 변경하지 않습니다.
출력:
The array is:
Array
(
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)