* 一、分割与合并
* 1.分割:array_chunk($arr,$num,[true]):$num每组元素数量,true保持原索引
* 2.合并:array_merge($arr1,$arr2,...);同名关联键名会自动覆盖,索引会重新排列自动累加
* 二、取出部分元素
* 1.array_slice($arr, $offset, $length, true):从指定位置取出指定数量的元素,true不重置索引
* 三、删除或替换部分元素
* array_splice(&input,$offset [,$length=count($input) [,$replacement = array()]])
* 从指定位置起删除元素,或者用新数组元素进行替换
//1.分割:array_chunk($arr,$num,[true]):$num每组元素数量,true保持原索引
$arr = [3,5,10,4,'a'=>'中国','php',39,'mysql','java',true,[100,200,300]];
//每3个一组进行分割,保持原索引
// print_r(array_chunk($arr,3,true));
// 2.合并:array_merge($arr1,$arr2,...);
$arr1 = ['name'=>'peter','course'=>'php','grade'=>60, 5=>'jQuery']; $arr2 = ['name'=>'朱老师','sex'=>'男','grade'=>90,'job'=>'lecturer', 5=>'php'];
//同名关联键名会自动覆盖,索引键名会重新排列自动累加,非常适合用户自定义配置文件更新系统配置
$arr1=array_merge($arr1, $arr2);//合并后再更新第一个数组 print_r($arr1); //查看合并后的数组,常用于配置文件更新操作
//3.array_slice($arr, $offset, $length, true):从指定位置取出指定数量的元素,true不重置数字索引
$arr2 = ['name'=>'朱老师','sex'=>'男','grade'=>90,'job'=>'lecturer', 5=>'php']; print_r(array_slice($arr2,2,4)); //返回取出的元素组成的数组 print_r(array_slice($arr2,2,4,true)); //true: 不重置数字索引
//4.array_splice(&input,$offset):删除或替换部分元素
$city = ['北京', '上海', '广州', '深圳', '重庆', '天津'];
//只保留前2个元素,要从索引为2位置:广州开始删除
print_r(array_splice($city, 2)); //返回删除 print_r($city); //查看原数据,发现只有前二个元素啦 $city = ['北京', '上海', '广州', '深圳', '重庆', '天津'];
//长度为负数,则指从负数到起始点之间的元素,此例-1是天津,2,-1指广州到重庆之间的数据
print_r(array_splice($city, 2,-1)); print_r($city); //查看原数据,只前二个北京上海和最后一个天津 $city = ['北京', '上海', '广州', '深圳', '重庆', '天津']; print_r(array_splice($city, -2, 1, ['合肥', '南京'])); //返回删除的重庆 print_r($city); //查看原数据,重庆的位置由合肥,南京代替