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 )  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Array_key_exists();检查给定的键名或索引是否存在于数组中二、array_keys ()返回数...
    peng_js阅读 445评论 0 0
  • 创建数组 索引数组索引为整数,如果没有指定索引值则默认为零,依次递增。 关联数组数组的key为字符串。 多维数组 ...
    栾呱呱阅读 1,801评论 3 34
  • 什么是数组?数组就是被命名的用来存储一系列数值的地方。数组array是非常重要的数据类型。相对于其他的数据类型,它...
    石小一阅读 764评论 0 0
  • 创建数组 arr.length--- title: js正则表达式categories: javascriptda...
    angelwgh阅读 1,492评论 0 2
  • 8月2日咖啡冥想 好种子开花结果 1、上午游览张家界森林公园,我从小溪里一块一块堆的石块的路上经过,杯子不小心掉水...

友情链接更多精彩内容