带你快速掌握PHP数组元素的替换(实例详解)

在之前的文章《学会获取多个数组差集的三个方法(收藏)》其中详细的介绍了PHP中怎样获取数组差集方法的相关知识,本篇文章我们一起来看一下PHP中怎样替换数组中的元素相关知识,希望对大家有帮助!

在之前的文章《学会获取多个数组差集的三个方法(收藏)》其中详细的介绍了PHP中怎样获取数组差集方法的相关知识,本篇文章我们一起来看一下PHP中怎样替换数组中的元素相关知识,希望对大家有帮助!

带你快速掌握PHP数组元素的替换(实例详解)

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

在之前的文章中我们有讲到过在PHP中想要替换字符串可以通过str_replace 函数与substr_replace()函数,字符串和数组都是PHP中非常重要的数据类型,那么我们应该怎样才能够做到替换数组中的元素呢?

在PHP中可以通过array_splice函数、array_replace函数和array_replace_recursive函数来进行对数组中的元素进行替换,下面我们就分别来看一下这三种函数的使用方法。

array_splice函数

在PHP中可以通过array_splice函数将数组中的元素移除并且使用新的元素来取代它,array_splice函数的基本语法格式如下:

array_splice(array,start,length,array)登录后复制

其中需要注意的是:

第一个参数array表示的就是我们需要进行操作的数组,参数start是用来表示删除元素的开始位置,参数length是用来规定被移除的元素个数,同时也是返回结果中数组的长度,第二个参数array是用来规定带有要插入原始数组中元素的数组。

参数start是正数的时候,就表示从数组中该值指定的偏移量开始移除。如果该参数是负数的话,则表示从数组末端倒数该值指定的偏移量开始移除。如果是0的话,那就是从第一个元素开始移除。

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

该函数的返回结果是由被提取出来的元素组成的数组。

下面我们通过示例来看一下array_splice函数的应用,示例如下:

“red”,”b”=>”green”,”c”=>”blue”,”d”=>”yellow”);
$a2=array(“a”=>”purple”,”b”=>”orange”);
array_splice($a1,0,2,$a2);
print_r($a1);
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

上述示例中,便是通过array_splice函数来对数组元素进行了替换,下面我们来看一下另外的两种方法。

array_replace函数

在PHP中可以通过array_replace函数来使后面数组的值替换第一个数组的值,array_replace函数的基本语法格式如下:

array_replace(array1,array2,array3…)登录后复制

其中需要注意的是:

参数array1表示的是我们需要被替换的数组,参数array2表示的是指定要替换array1的值的数组,array3表示的是指定多个需要替换的数组,后面的数值会覆盖前面的数值。返回的结果是被替换的数组,如果函数其中有错误的话,返回的结果就是NULL。

下面我们通过示例来看一下array_replace函数的使用,示例如下:

“red”,”b”=>”green”);
$a2=array(“a”=>”orange”,”burgundy”);
print_r(array_replace($a1,$a2));
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

上述示例中,一个键名不仅存在于第一个数组,也在第二个数组,这时候第一个数组中的值会被第二个数组中的值给替换掉,如果第一个数组中的键名是单独的,别的数组中没有这个键名,这时候这个键名和这个值机会保持不变。

这是一个键只存在于第一个数组中的情况,下面我们看一下一个键只存在于第二个或者后面的数组中,下面我们再看一个示例:

“red”,”green”);
$a2=array(“a”=>”orange”,”b”=>”burgundy”);
print_r(array_replace($a1,$a2));
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

上述示例中能够看出,当一个键不存在在第一个数组中,只存在于第二个数组中的时候,第一个数组中会重新创建一个这个键名和这个值,上述的示例都是两组数组,下面我们来看一下三组数组的时候,

示例如下:

登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

上述示例中,出现了三个数组,这时候需要注意的是,后面数组的值会覆盖前面数组的值。

这便是array_replace函数的基本用法,下面我们继续来看array_replace_recursive函数的用法。

array_replace_recursive函数

在PHP中可以通过array_replace_recursive函数来递归的使用第二个数组的值来替换第二个数组的值。

array_replace_recursive函数的基本语法格式如下:

array_replace_recursive(array1,array2,array3…)登录后复制

其中需要注意的是:

参数array1表示的是我们需要被替换的数组,参数array2表示的是指定要替换array1的值的数组,array3表示的是指定多个需要替换的数组,后面的数值会覆盖前面的数值。返回的结果是被替换的数组,如果函数其中有错误的话,返回的结果就是NULL。

如果数组中没有使用指定的键来规定数组中的元素,那么array_replace_recursive函数就可以看成是array_replace函数。

如果一个键在第一个数组和第二个数组中都存在,这时候第二个数组的值会替换第一个数组的值,如果一个键只存在于第一个数组,那么这个值会保存,如果一个键只存在于第二个数组,这时候会在第一个数组创建一个一样的元素。

下面我们通过示例来看一下array_replace_recursive的使用,示例如下:

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));
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

上述示例中,多个数组后面的数值会覆盖前面的数值。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

php数组中键和值间怎么转换位置

原创2022-06-09 15:09:471155 + php学习QQ群(点击入群)

两种转换方法:1、利用foreach循环和一个空数组,语法“foreach($arr1 as $k=>$v){$arr2[$v]=$k;}”,将原数组的值作为空数组的键,原数组的键作为空数组的值即可。2、使用array_flip()函数,该函数可以交换数组中的键和值,语法“array_flip($array)”。

带你快速掌握PHP数组元素的替换(实例详解)

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

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

php将数组中键和值转换位置

方法1:利用foreach循环和一个空数组

11,”bbb”=>22,”ccc”=>33);
$arr2=array();
foreach($arr1 as $k=>$v){
$arr2[$v]=$k;
}
var_dump($arr2);
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

方法2:使用array_flip()函数

array_flip()函数可以交换数组中的键和值

11,”bbb”=>22,”ccc”=>33);
$arr2=array_flip($arr1);
var_dump($arr2);
?>登录后复制

输出结果:

带你快速掌握PHP数组元素的替换(实例详解)

以上就是php数组中键和值间怎么转换位置的详细内容,更多请关注钦钦技术栈其它相关文章!

转载至:php中文网【www.php.cn】

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/26683/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年 9月 27日 8:49:45
下一篇 2022年 9月 28日 8:19:45

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!