php数组修改函数有哪些?

  • 来源:网络
  • 更新日期:2020-07-23

摘要:php数组修改函数有:1、【array_change_key_case】将数组中的所有键名修改为全大写或小写;2、【array_fill_keys】使用指定的键和值填充数组;3、【array_fill】用给定的值填充数

php数组修改函数有:1、【array_change_key_case】将数组中的所有键名修改为全大写或小写;2、【array_fill_keys】使用指定的键和值填充数组;3、【array_fill】用给定的值填充数组。

php数组修改函数有:

1、array_change_key_case :将数组中的所有键名修改为全大写或小写。接受两个参数,第一个为要修改的数组,第二个为可选的大小写转换标识,表示将键名修改为大写还是小写,默认为CASE_LOWER。如果传入的不是数组会返回false,并产生一个警告。

2、array_fill_keys:使用指定的键和值填充数组,接受两个参数,第一个为指定的键数组,数组的值为键名,第二个参数为用于填充数组的值。

3、array_fill:用给定的值填充数组,接受三个参数,第一个为正整数,标识填充的起始索引值,如果是负数,则返回的数组第一个索引为该负数,后面的索引从0开始,第二个为整数,表示填充的数量,必须大于等于0,否则会产生警告。第三个参数为用于填充数组的值。

4、array_flip:交换数组中的键和值,数组中的值如果不是作为合法的键名,将会产生警告,并且有问题的键值对不会出现在结果中。如果同一个值出现多次,则最后一次出现的键名会作为交换后的值,之前的会被丢弃。如果交换失败返回null。

5、array_pad:以指定长度将一个值填充进数组。接受三个参数,第一个为要填充的数组,第二个为填充后的数组大小,第三个为用于填充的值。如果指定的数组大小为整数,则从右侧填充,如果为负数则从左侧填充,如果小于原数组的大小则不进行填充,最多可一次填充1048576个值。返回的是第一个数组的拷贝。

6、array_replace:使用传递的数组替换第一个数组的元素,接受任意数量的数组,如果一个键存在于第一个数组同时也存在第二个数组中,则将第一个数组的值替换为第二个数组中的值。如果第一个数组中不存在,但第二个数组中存在,则会在第一个数组中创建这个元素,如果只存在于第一个数组中则保持不变,如果传递了多个数组,则会按顺序依次处理,后面的数组覆盖前面相同键的值。如果发生错误,返回null,否则返回替换后的数组。array_replace是非递归的,不会判断第一个数组中的值的类型而直接进行覆盖。

7、array_replace_recursive:与array_replace唯一的区别是,array_replace_recursive是递归的,即会判断第一个数组中的值的类型,如果是数组,会递归的替换这个数组中的值。

8、array_splice:去掉数组中的某一部分并用其它值取代,接受四个参数,第一个为要进行操作的数组引用,第二个为起始位置,第三个为可选的长度,默认为数组的长度。第四个为可选的替代单元,默认为空数组。进行操作的数组中的键名不会保留。如果起始位置为正数则从前往后计算,从0开始,如果为负数则从后往前计算,从-1开始。如果不传入长度,则默认为从起始位置到数组结尾的所有单元,如果传入长度为正数,则从起始位置移除指定长度的单元,如果为负数则从起始位置向前移除指定长度的单元,如果为0则不移除单元。如果替代单元为数组,则用数组中单元替换移除的单元,如果不移除任何单元,则会在指定的起始位置插入替代单元。如果替代单元只有一个单元,则不需要加上array(),除非该单元本身是一个数组、对象或者null,返回值为包含被删除单元的数组。

9、array_unique:移除数组中重复的值,接受两个参数,第一个为要进行去重的数组,第二个为排序顺序标识,PHP5.2.9默认为SORT_REGULAR,其他版本默认为SORT_STRING。先对数组中的元素值进行排序,然后每个值只保留遇到的第一个键名,忽略后面的键名,并不是排序前同一个值的第一个出现的键名一定会被保留。返回去重后的数组,保留键名。

10、array_unshift:在数组开头插入一个或多个单元,单元是做为整体插入的,传入单元将保持同样的顺序,插入后,所有的数值键名将从零开始重新计算,字符串键名保持不变。返回插入后的数组单元数量。

11、array_shift:将数组开头的单元移出数组,将所有的单元向前移动一位,所有的数字键名从零开始计数,文本键名不变,数组长度减1。使用此函数后会重置数组内部的指针。如果传入非数组的值则会产生警告。传入空数组或非法值则返回null。

12、array_pop:弹出并返回数组最后一个单元,数组长度减1,该函数只接受数组的引用,不能直接传入数组。如果是空数组,则返回null。如果传入非数组的值则会产生警告。使用此函数后会重置数组内部的指针。

13、array_push:将一个或多个单元压入数组末尾,并增加相应的长度,该函数只接受数组的引用,不能直接传入数组。如果传入非数组的值则会产生警告。使用此函数后不会重置数组内部的指针。返回值为插入后数组的单元总数。

<?php
$ar1=array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e","f"=>"f");
$ar2=array("a","b","d","f","g","h");
$ar3=array("a","c","g");
$ar4=array("a"=>"a","b"=>array("a"=>"a","b"=>"b","c"=>"c"),"c"=>"c");
$ar5=array("a"=>"1","b"=>array("c"=>"c","d"=>"d","b"=>"b","e"=>"e"),"c"=>array("c","b","a"));
$ar6=array(1,2,3,4,5,6);
$ar7=array("a","b","d","f","g","h","a","c","g","e");
$ar8=array(1=>"a","02"=>"b",3=>"e",4=>"04");
$ar9=array();
 
var_dump(array_change_key_case($ar1,CASE_UPPER));
var_dump(array_fill_keys($ar6,"a"));
var_dump(array_fill_keys($ar6,$ar3));
var_dump(array_fill(-2,3,"a"));
var_dump(array_fill(3,0,"a"));
var_dump(array_flip($ar2));
var_dump(array_pad($ar2,"-10","z"));
var_dump(array_replace($ar4,$ar5));
var_dump(array_replace_recursive($ar4,$ar5));
var_dump(array_splice($ar3,1,1,array("x","y","z")));
var_dump($ar3);
var_dump(array_unique($ar7));
var_dump(array_unshift($ar8,"e","f"));
var_dump($ar8);
next($ar8);
var_dump(key($ar8));
var_dump(array_shift($ar8));
var_dump($ar8);
var_dump(key($ar8));
var_dump(array_shift($ar9));
next($ar8);
var_dump(key($ar8));
var_dump(array_pop($ar1));
var_dump(key($ar8));
var_dump($ar8);
var_dump(array_pop($ar9));
next($ar8);
var_dump(key($ar8));
$ar1[]="e";
var_dump($ar8);
var_dump(key($ar8));
var_dump(array_push($ar8,"f","g"));
var_dump(key($ar8));
 
?>

相关学习推荐:PHP编程从入门到精通