Index를 지정하여 삭제하기 1
array_splice();
- 배열을 잘라내는 기능을 이용하여 값을 삭제
- 1개 값만 삭제하거나 연속하는 값을 삭제할 때 유용
array_splice 사용예1
$target = array('a', 'b', 'c'); //삭제실행 $split = array_splice($target, 1, 1); //삭제결과 var_dump($target);/*array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }*/ //인수로 전달한 값도 갱신되어 있다 var_dump($split);/*array(1) { [0]=> string(1) "b" }*/
array_splice 사용예2(연속된 값의 삭제)
$target = array('a', 'b', 'c'); //삭제실행 $split = array_splice($target, 1, 1); //삭제결과 var_dump($target);/*array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }*/ //인수로 전달한 값도 갱신되어 있다 var_dump($split);/*array(1) { [0]=> string(1) "b" }*/
Index를 지정하여 삭제하기 2
unset();
array_values();
- 배열을 지정하여 unset으로 삭제하는 방법
- 복수의 값의 삭제에 유용
- unset으로 삭제하는 것 만으로는 index가 갱신되지 않으므로 array_values로 index를 채움
index 채우기
$target = array('a', 'b', 'c'); //삭제실행 unset($target[1]); //실행결과 //index의 1을 삭제했기 때문에 index 번호가 이어지지 않는다 var_dump($target);/*array(2) { [0]=> string(1) "a" [2]=> string(1) "c" }*/ //index 채우기 $target = array_values($target); //index의 결번이 채워져 번호가 이어진다. var_dump($target);/*array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }*/
unset 사용예
$target = array('a', 'b', 'c', 'd'); foreach ($target as $key => $val) { if(/*삭제조건*/){ //삭제실행 unset($target[$key]); } } //Index 채우기 array_values($target);
유용한 Index 지정 삭제 패턴
1개 삭제라면 array_splice();가 편리하다. 단, 복수 삭제의 경우는 array_splice();로 삭제하면 삭제와 인덱스를 채우기는 작업이 동시에 해줘야 하는 경우가 있다. unset();으로 한번에 삭제후 array_value();로 index를 전부 채우는 방법을 추천.
요소를 지정하여 삭제하기
array_diff(); array_values();
- index값이 아닌 요소를 지정하여 삭제
- 삭제후에 index를 채우는 작업이 필요
array_diff는 제1 인수의 배열과 제2 인수 이후의 배열을 비교하여 제1인수의 요소 중 다른 배열에는 존재하지 않는 값만 반환한다.
array_diff 사용예
$target = array('a', 'b', 'c', 'd', 'e'); //삭제실행 $result = array_diff($target, array('c', 'e')); //index 채우기 $result = array_values($result); //삭제 결과 var_dump($result);/*array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "d" }*/
연상배열
unset();
- key를 이용하여 연상배열로부터 삭제
unset 사용예
$target = array('key1' => 'a', 'key2' => 'b', 'key3' => 'c'); //삭제실행 unset($target['key2']); //삭제결과 var_dump($target);/*array(2) { ["key1"]=> string(1) "a" ["key3"]=> string(1) "c" }*/
'Dev > PHP' 카테고리의 다른 글
PHP Simple HTML DOM Parser사용 방법 (웹 크롤링 파싱) (0) | 2022.02.19 |
---|---|
Linux 리눅스 PHP 버전 확인 및 업그레이드 방법 (0) | 2021.02.21 |
[PHP] error_log 함수 사용시 한글 깨짐 문자가 제대로 보이지 않는 문제 해결 (0) | 2018.04.11 |
[PHP] 문자열에서 글자수를 기준으로 자르기 (영어 한글) (0) | 2018.03.27 |
[PHP] Array 배열 요소 추가 삭제 값 구하기 합치기 결합하기 다차원 사용 방법 정리 (1) | 2017.06.14 |
[PHP] rmdir 로 디렉토리 폴더 내부의 파일들과 같이 삭제를 하고 싶을 때 (0) | 2016.08.25 |
PHP Fatal error: Cannot redeclare 에러 해결 방법 (0) | 2016.07.26 |
CentOS 7에 yum으로 PHP 5.6을 설치하는 방법 (0) | 2016.07.18 |
php에서 간단히 mail 함수로 메일 보내기 (1) | 2014.03.13 |
PHP의 프레임워크의 역사와 현재 (CakePHP, Zend Framework, symfony, Mojavi 등) (0) | 2011.07.04 |