PHP中 array_slice 和 array_splice

slice 和 splice 的英文意思

slice 切成片; 切下; 划分
splice 剪接

所以在PHP语法中, 就有以下的意思

array_slice 返回数组中被选定的部分.
array_splice 删除并替换数组中指定的元素.

上代码 ( // 后面为输出的内容)

array_slice(array(必须),start(必须),length(可选),preserve(可选))

在array1这个数组的下标为1的元素开始, 截取2个元素的长度(可选参数, 如果不选择长度, 则是直至最后一个 元素的唱的).

$array1 = array('Touch me', 'Make me come alive', 'turn me on');

print_r(array_slice($array1, 1, 2)); 
// 输出为: Array ( [0] => Make me come alive [1] => turn me on )

preserve 为可选。规定函数是保留键名还是重置键名。可能的值:
true - 保留键名
false - 默认。重置键名

$array2 = array('red', 'green', 'blue', 'yellow', 'brown');

print_r(array_slice($array2, 1));  
// Array ( [0] => green [1] => blue [2] => yellow [3] => brown ) 
print_r(array_slice($array2, 1, 2, true)); 
//Array ( [1] => green [2] => blue )
print_r(array_slice($array2, 1, 2));
 //Array ( [0] => green [1] => blue )

array_splice(array(必),deleteFromIndex(必),length(可选),insertArray(可选))

$a1 = array('a' => 'red','b' =>'green', 'c'=>'blue','d'=>'yellow');
$a2 = array('a' => 'purple', 'b' => 'orange');
print_r(array_splice($a1, 0, 2, $a2));
// Array ( [a] => red [b] => green )
print_r($a1); 
// 改变了原数组$a1:Array ( [0] => purple [1] => orange [c] => blue [d] => yellow )
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
 //Array ( [0] => red [1] => purple [2] => orange [3] => green )

在这里需要注意的是这两个函数的必选参数 第二个(start 和 deleteFromIndex ) 是可以为负数的, 负数情况下就是从最后面开始数倒数第 start 或 deleteFromIndex 个的位开始 向后数 length 个

下面代码的意思为在$a这个数组的倒数第2个元素开始向后 slice (截取) 1个元素做为返回值返回, 所以输出为yellow.

$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,-2,1)); 
//Array ( [0] => yellow )  

你可能感兴趣的:(PHP中 array_slice 和 array_splice)