文档首页> 常见问题> php常用数组函数(三)

php常用数组函数(三)

发布时间:2023-04-14 07:30       

* 一、分割与合并

* 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);  //查看原数据,重庆的位置由合肥,南京代替