>백엔드 개발 >PHP 문제 >PHP 배열에서 지정된 값을 가진 요소를 삭제하는 방법은 무엇입니까?

PHP 배열에서 지정된 값을 가진 요소를 삭제하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-11-05 09:48:067498검색

삭제 방법: 1. foreach 및 unset() 함수를 사용하여 배열의 특정 값을 삭제합니다. 2. array_flip() 함수 및 unset() 함수를 사용하여 배열의 특정 값을 삭제합니다. () 및 unset() 함수는 배열에서 특정 값을 삭제합니다.

PHP 배열에서 지정된 값을 가진 요소를 삭제하는 방법은 무엇입니까?

권장: "PHP 비디오 튜토리얼"

php 배열의 요소 삭제

1 배열의 특정 값을 삭제하려면 foreach 및 unset() 함수를 사용하세요.

foreach($array as $k=>$v){
if($v == 'day'){
unset($array[$k]):
}
}

unset() 함수는 지정된 배열 값을 삭제할 수 있습니다.

unset ( $var [, $... ] )

매개변수 설명: $var: 파괴할 변수입니다.

2. array_flip() 함수와 unset() 함수를 사용하여 배열의 특정 값을 삭제합니다.

$arr = array_flip($arr);
unset($arr['world']);
$arr = array_flip($arr);
print_r($arr);

array_flip()은 배열의 원래 키 이름을 키 값으로 변경하고 위의 작업을 이해하기 쉽도록 키 값을 키 이름에 입력합니다.

3. array_search() 및 unset() 함수를 사용하여 배열의 특정 값을 삭제합니다.

if(($key = array_search('day',$arr))){
unset($arr[$key]);
}

array_search() 함수는 in_array()와 동일하며 배열에서 키 값을 검색합니다. 값이 발견되면 일치하는 요소의 키가 반환됩니다. 찾을 수 없으면 false를 반환합니다.

4. array_splice() 함수는 unset() 함수와 동일한 역할을 할 수 있습니다.

if(($key = array_search('day',$arr))){
array_splice($arr, $key,1);
}

array_splice() 함수는 배열에서 선택한 요소를 제거하고 이를 새 요소로 대체합니다. 제거된 요소 요소의 배열입니다. 함수가 요소를 제거하지 않으면(길이=0) 대체 배열이 시작 매개변수 위치에 삽입됩니다. 대체 배열의 키 이름은 유지되지 않습니다.

array_splice(array,start,length,array)

array_splice()에는 4개의 매개변수가 있습니다:

PHP 배열에서 지정된 값을 가진 요소를 삭제하는 방법은 무엇입니까?

5, array_unique()를 사용하면 이 특정 값을 배열에 그대로 둘 수 있습니다.

참고: 위의 모든 작업은 배열의 첫 번째 합계만 삭제합니다. 지정한 값과 동일한 요소는 이후의 요소가 지정한 값과 동일하더라도 삭제되지 않습니다!

위의 모든 코드 연산을 수행하기 전에 먼저 array_unique($array) 연산을 수행하여 배열의 중복 값을 병합 및 삭제한 다음 중복 값이 ​​없도록 위의 삭제를 수행합니다. 배열에 남았습니다.

6. 특정 값에 해당하는 키 값만 삭제하고 다른 값은 그대로 둡니다.

5번째 단계에서는 특정 값을 삭제하는 동안 관련 없는 다른 값도 병합되므로 어떻게 해야 할까요? 다른 값은 건드리지 않는다면? 위의 1~4번 작업을 반복하여 배열의 길이를 구하고 for 루프를 사용합니다. 물론 가장 어리석은 방법입니다~~

배열의 길이를 구하는 함수는 count($arr)

for(count($arr))if($key = array_search('day',$arr))array_splice($arr,$key,1);

더 보기 프로그래밍 관련 지식을 보려면

프로그래밍 소개를 방문하세요! !

위 내용은 PHP 배열에서 지정된 값을 가진 요소를 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.