update : 2015.11.03
php.shukuma.com

검색:
 
 
배열의 일부를 삭제하고, 그 위치를 다른 내용으로 대체

array_splice

(PHP 4, PHP 5, PHP 7)

array_splice배열의 일부를 삭제하고, 그 위치를 다른 내용으로 대체

설명

array array_splice ( array &$input , int $offset [, int $length [, mixed $replacement ]] )

input 배열에서 offsetlength로 정해진 대로 배열원소를 제거하고, 인수가 주어진다면 replacement 배열의 원소로 그 부분을 대체한다.

input의 숫자 키는 유지되지 않습니다.

Note: replacement가 배열이 아니면, 자료형 변환이 일어납니다. (즉, (array) $parameter) 이로 인해 replacement에 객체를 사용할 때, 결과를 예측할 수 없습니다.

인수

input

입력 배열.

offset

offset이 양수이면 삭제될 부분의 시작은 input 배열의 시작에서부터의 offset에서 시작된다. offset이 음수이면 input 배열의 끝에서부터의 옵셋 수에서 시작된다.

length

length가 생략되면, offset에서 배열의 끝까지의 모든 원소를 삭제된다. length가 주어지고 양수이면, 그 수만큼의 원소가 삭제될것이다. length가 주어지고 음수이면, 삭제되는 부분의 끝은 배열의 끝에서부터 그 수만큼의 원소가 될것이다. 팁: replacement가 주어져있고 offset에서 배열 끝까지의 모든 원소를 삭제하려면 length 인수에 count($input)을 사용하도록 한다.

replacement

replacement 배열이 주어지면, 제거된 원소들은 이 배열의 원소들로 대체된다.

offsetlength가 아무것도 삭제되지 않도록 주어지면, replacement 배열의 원소들을 offset에 의해 설정된 위치에 끼워넣는다. replacement 배열의 키는 유지되지 않습니다.

replacement가 하나의 원소이고, 그 원소가 배열 자체가 아니라면 array()를 넣을 필요는 없다.

반환값

추출된 원소로 구성된 배열을 반환한다.

예제

Example #1 array_splice() 예제

<?php
$input 
= array("red""green""blue""yellow");
array_splice($input2);
// $input is now array("red", "green")

$input = array("red""green""blue""yellow");
array_splice($input1, -1);
// $input is now array("red", "yellow")

$input = array("red""green""blue""yellow");
array_splice($input1count($input), "orange");
// $input is now array("red", "orange")

$input = array("red""green""blue""yellow");
array_splice($input, -11, array("black""maroon"));
// $input is now array("red", "green",
//          "blue", "black", "maroon")

$input = array("red""green""blue""yellow");
array_splice($input30"purple");
// $input is now array("red", "green",
//          "blue", "purple", "yellow");
?>

Example #2 array_splice() 예제

다음 구분은 $input의 값을 동일한 방법으로 변경합니다:

<?php
array_push
($input$x$y);
array_splice($inputcount($input), 0, array($x$y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input01);
array_unshift($input$x$y);
array_splice($input00, array($x$y));
$input[$x] = $y// for arrays where key equals offset
array_splice($input$x1$y);
?>

참고