>  기사  >  백엔드 개발  >  PHP 함수 array_splice()는 배열에서 지정된 요소를 제거하고 이를 다른 값으로 대체합니다.

PHP 함수 array_splice()는 배열에서 지정된 요소를 제거하고 이를 다른 값으로 대체합니다.

黄舟
黄舟원래의
2017-11-09 09:05:442235검색

배열에서 요소를 제거하고 새 요소로 교체:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

정의 및 사용법

array_splice() 함수는 배열에서 선택한 요소를 제거하고 새 요소로 바꿉니다. 이 함수는 제거된 요소의 배열도 반환합니다.

팁: 함수가 요소를 제거하지 않는 경우(길이=0) 대체 배열은 시작 매개변수 위치에서 삽입됩니다(예제 2 참조).

Note: 대체 배열의 키 이름은 유지되지 않습니다.

Syntax

array_splice(array,start,length,array)
Parameters Description
array 필수입니다. 배열을 지정합니다.
start 필수입니다. 수치. delete 요소의 시작 위치를 지정합니다. 0 = 첫 번째 요소. 값이 양수로 설정된 경우 해당 값으로 지정된 배열의 오프셋에서 제거가 시작됩니다. 값이 음수로 설정된 경우 배열 끝에서 값으로 지정된 오프셋에서 제거가 시작됩니다. -2는 배열의 두 번째 요소부터 마지막 ​​요소까지 시작한다는 의미입니다.
길이 선택사항. 수치. 제거할 요소 수를 지정합니다. 이는 반환된 배열의 길이이기도 합니다. 값이 양수로 설정되면 해당 개수의 요소가 제거됩니다. 이 값이 음수로 설정되면 시작부터 배열 끝의 길이의 역수까지 모든 요소가 제거됩니다. 이 값을 설정하지 않으면 시작 매개변수에 의해 설정된 위치부터 배열의 끝까지 모든 요소가 제거됩니다.
array 선택사항. 원래 배열에 삽입할 요소가 포함된 배열을 지정합니다. 요소가 하나만 있는 경우 문자열으로 설정할 수 있으며 배열로 설정할 필요가 없습니다.

기술 세부정보

반환 값: 추출된 요소가 포함된 배열을 반환합니다.
PHP 버전: 4+

更多实例

实例 1

与本页前面部分的实例相同,但是输出返回的数组:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

实例 2

带有设置为 0 的 length 参数:

<?php
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

在array_splice中,有这么一段代码:

/* Don&#39;t create the array of removed elements if it&#39;s not going
  * to be used; e.g. only removing and/or replacing elements */
 if (return_value_used) { // 如果有用到函数返回值则创建返回数组,否则不创建返回数组
   int size = length;
 
   /* Clamp the offset.. */
   if (offset > num_in) {
     offset = num_in;
   } else if (offset < 0 && (offset = (num_in + offset)) < 0) {
     offset = 0;
   }
 
   /* ..and the length */
   if (length < 0) {
     size = num_in - offset + length;
   } else if (((unsigned long) offset + (unsigned long) length) > (unsigned) num_in)     {
     size = num_in - offset;
   }
 
   /* Initialize return value */
   array_init_size(return_value, size > 0 ? size : 0);
   rem_hash = &Z_ARRVAL_P(return_value);
 }

array_splice函数返回的是被删除的切片。这段代码的意思是,如果array_splice需要返回值,那么才创建返回数组,否则不创建,以免浪费空间。这也是一个编程小技巧,仅当需要的时候才返回。比如在函数中使用$result = array_splice(...),那么return_value_used就是true。

위 내용은 PHP 함수 array_splice()는 배열에서 지정된 요소를 제거하고 이를 다른 값으로 대체합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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