>  기사  >  백엔드 개발  >  키를 기반으로 배열에서 지정된 요소를 삭제하는 PHP 구현 방법

키를 기반으로 배열에서 지정된 요소를 삭제하는 PHP 구현 방법

黄舟
黄舟원래의
2018-05-23 15:29:357486검색

다음 편집기는 키를 기반으로 배열에서 지정된 요소를 삭제하는 구현 방법을 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라가며 살펴보겠습니다.

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)로!

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