다음 편집기는 키를 기반으로 배열에서 지정된 요소를 삭제하는 구현 방법을 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라가며 살펴보겠습니다.
PHP 배열의 요소는 키-값 쌍('key'=>'value')의 형태로 존재합니다. 때로는 지정된 항목을 삭제해야 합니다. 키를 기반으로 하는 배열에 .
function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr, $index, 1); } return $arr; } $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); $result = array_remove($data, 'name'); var_dump($result);
함수 사용 지침:
1. array_search()
정의 및 사용법
array_search() 함수는 in_array()와 동일하며 배열에서 키 값을 검색합니다. 값이 발견되면 일치하는 요소의 키가 반환됩니다. 찾을 수 없으면 false를 반환합니다.
PHP 4.2.0 이전에는 함수가 실패하면 false 대신 null을 반환했습니다.
세 번째 매개변수 strict를 true로 지정하면 데이터 유형과 값이 일치하는 경우에만 해당 요소의 키 이름이 반환됩니다.
구문
array_search(value,array,strict)
매개변수 설명
value 필수입니다. 배열에서 검색할 값을 지정합니다.
배열이 필요합니다. 검색할 배열입니다.
엄격 선택사항. 가능한 값:
true
false - 기본값
값이 true로 설정되면 해당 값의 유형도 배열에서 확인됩니다
예 1
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a); ?>
2. array_splice()
정의 및 사용법
array_splice () 함수 array_slice() 함수와 유사하게 배열의 요소 범위를 선택하지만 해당 요소를 반환하는 대신 삭제하고 다른 값으로 바꿉니다.
네 번째 인수가 제공되면 이전에 선택한 요소가 네 번째 인수로 지정된 배열로 대체됩니다. 최종 생성된 배열이 반환됩니다.
구문
array_splice(array,offset,length,array)
매개변수 설명
배열 필수입니다. 배열을 지정합니다.
오프셋 필수입니다. 수치. 오프셋이 양수이면 입력 배열에서 이 값으로 지정된 오프셋에서 제거가 시작됩니다. offset이 음수인 경우 입력 배열의 끝에서 이 값으로 지정된 오프셋에서 제거가 시작됩니다.
길이 선택사항. 수치. 이 매개변수를 생략하면 오프셋부터 끝까지 배열의 모든 부분이 제거됩니다. 길이가 지정되고 양수이면 이 만큼의 요소가 제거됩니다. 길이가 지정되고 음수인 경우 오프셋부터 배열 끝에서 아래로 계산되는 길이까지의 모든 요소가 제거됩니다.
배열 제거된 요소는 이 배열의 요소로 대체됩니다. 제거된 값이 없으면 이 배열의 요소가 지정된 위치에 삽입됩니다.
팁 및 참고 사항
팁: 함수가 어떤 요소도 제거하지 않으면(길이=0) 대체 배열은 다음에서 가져옵니다. 시작 매개변수 삽입 위치입니다. (예 3 참조)
참고: 대체 배열의 키는 유지되지 않습니다.
예제
<?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,0,2,$a2); print_r($a1); //输出: Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird ) ?> //与例子 1 相同,但是输出返回的数组: <?php $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); print_r(array_splice($a1,0,2,$a2)); ?> //输出: Array ( [0] => Dog [1] => Cat ) //length 参数设置为 0: <?php $a1=array(0=>"Dog",1=>"Cat"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,1,0,$a2); print_r($a1); ?> //输出: Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
위는 키에 따라 배열의 지정된 요소를 삭제하는 PHP 구현 방법의 내용입니다. PHP 중국어 홈페이지(www.php.cn)로!