首页 >后端开发 >PHP问题 >php数组替换函数有哪些

php数组替换函数有哪些

青灯夜游
青灯夜游原创
2021-06-02 18:05:452940浏览

php数组替换函数有:1、array_replace()函数,使用后面数组的值替换第一个数组的值;2、array_replace_recursive()函数,递归地使用后面数组的值替换第一个数组的值;3、array_splice()函数。

php数组替换函数有哪些

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

1、array_replace()函数

array_replace() 函数使用后面数组的值替换第一个数组的值。语法如下:

array_replace(array1,array2,array3...)
  • 如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换。

  • 如果一个键仅存在于第一个数组 array1,它将保持不变。

  • 如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素。

  • 如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值。

示例1:如果一个键存在于 array1 中同时也存在于 array2 中,第一个数组的值将被第二个数组中的值替换

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>

输出:

Array ( [a] => orange [b] => green [0] => burgundy )

示例2:如果一个键仅存在于第二个数组中:

<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>

输出:

Array ( [a] => orange [0] => green [b] => burgundy )

2、array_replace_recursive()函数

array_replace_recursive() 函数递归地使用后面数组的值替换第一个数组的值。语法如下:

array_replace_recursive(array1,array2,array3...)

示例:多个数组

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

输出:

Array ( [a] => Array ( [0] => orange ) [b] => Array ( [0] => burgundy [1] => blue ) )

说明:array_replace() 与 array_replace_recursive() 的差别:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));

$result=array_replace_recursive($a1,$a2);
print_r($result);

$result=array_replace($a1,$a2);
print_r($result);
?>

输出:

Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) ) 
Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black ) )

3、array_splice()函数

array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组。

语法

array_splice(array,start,length,array)
参数 描述
array 必需。规定数组。
start

必需。数值。规定删除元素的开始位置。

  • 0 = 第一个元素。
  • 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。
  • 如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。
  • -2 意味着从数组的倒数第二个元素开始。
length

可选。数值。规定被移除的元素个数,也是被返回数组的长度。

  • 如果该值设置为正数,则移除该数量的元素。
  • 如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。
  • 如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array

可选。规定带有要插入原始数组中元素的数组。

如果只有一个元素,则可以设置为字符串,不需要设置为数组。

示例:把 length 参数设置为 0:

<?php
$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 )

推荐学习:《PHP视频教程

以上是php数组替换函数有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn