PHP数组函数 array_replace (使用传递的数组替换第一个数组的元素)

    在PHP中,数组函数 array_replace () 使用传递的数组替换第一个数组的元素。

    函数语法:

array_replace ( array $array1 [, array $array2, array $array3,... ] ) : array

    函数参数说明:

参数描述
array1必需。指定一个数组。
array2可选。指定一个要替换 array1 的值的数组。
array3,...可选。指定多个要替换 array1 和 array2, ... 的值的数组。后面数组的值将覆盖之前数组的值。

    array_replace() 使用传递的数组替换第一个数组的元素。

    替换规则如下:

        如果一个键存在于第一个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。

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

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

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

    和array_replace_recursive() 是递归替换不同的是,array_replace() 是非递归的:它将第一个数组的值进行替换而不管第二个数组中是什么类型。

    举例1,替换第一个数组的元素   

<?php

// 定义数组
$arr1 = ['a', 'b', 'c'];
$arr2 = ['1', '2', '3'];

// 替换第一个数组的元素
$res = array_replace($arr1, $arr2);

var_dump($res);

    以上代码输出如下:

array (size=3)
  0 => string '1' (length=1)
  1 => string '2' (length=1)
  2 => string '3' (length=1)

    举例2,替换第一个数组的元素   

<?php

// 定义数组
$arr1 = ['a', 'b', 'c'];
$arr2 = ['1', '4' => '2', '3'];

// 替换第一个数组的元素
$res = array_replace($arr1, $arr2);

var_dump($res);

    以上代码输出如下:

array (size=5)
  0 => string '1' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  4 => string '2' (length=1)
  5 => string '3' (length=1)

    举例3,替换数组的内部元素(和array_replace_recursive方法递归替换不同,array_replace直接替换)   

<?php

// 定义数组
$arr1 = ['0' => ['a1', 'a10','a100'], 'b', 'c'];
$arr2 = ['0' => ['a2', 'a20'], '4' => '2', '3'];

// 替换第一个数组的元素
$res = array_replace($arr1, $arr2);

var_dump($res);

    以上代码输出如下:

array (size=5)
  0 => 
    array (size=2)
      0 => string 'a2' (length=2)
      1 => string 'a20' (length=3)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  4 => string '2' (length=1)
  5 => string '3' (length=1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值