Home >Backend Development >PHP Tutorial >Take you to quickly master the replacement of PHP array elements (detailed examples)

Take you to quickly master the replacement of PHP array elements (detailed examples)

WBOY
WBOYOriginal
2021-11-08 12:01:004437browse

In the previous article "Learn three methods to obtain multiple array differences (collection)", it introduced in detail the relevant knowledge on how to obtain the array difference method in PHP. In this article we Let’s take a look at the relevant knowledge about how to replace elements in an array in PHP. I hope it will be helpful to everyone!

Take you to quickly master the replacement of PHP array elements (detailed examples)

In the previous article, we mentioned that if you want to replace a string in PHP, you can use the str_replace function and substr_replace() function, strings and arrays are very important data types in PHP, so how can we replace elements in the array?

In PHP, you can replace elements in the array through the array_splice function, the array_replace function and the array_replace_recursive function. Below we will Let’s take a look at how to use these three functions respectively.

<strong><span style="font-size: 20px;">array_splice</span></strong>Function

# can be passed in PHP ##array_spliceThe function removes an element from an array and replaces it with a new element. array_spliceThe basic syntax format of the function is as follows:

array_splice(array,start,length,array)

What needs to be noted is:


The first parameter

array represents the array we need to operate on. The parameter start is used to represent the starting position of deleted elements. The parameter length It is used to specify the number of elements to be removed, and it is also the length of the array in the returned result. The second parameter array is used to specify the array with the elements to be inserted into the original array.

When the parameter

start is a positive number, it means starting to remove from the offset specified by the value in the array. If this parameter is a negative number, it means to start removing from the end of the array at the offset specified by the value. If it is 0, it will be removed starting from the first element.

Parameter

lengthIf it is a positive number, it means the number of elements to remove. If it is a negative number, it means to remove the countdown length from start to the end of the array. All elements in the middle up to . If the value of this parameter is not set, it means to remove all elements from the position set by the start parameter to the end of the array.

The return result of this function is an array composed of the extracted elements.

Let’s take a look at the application of the

array_splice function through an example. The example is as follows:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

Output result:


Take you to quickly master the replacement of PHP array elements (detailed examples)

In the above example, the array elements are replaced through the

array_splice function. Let’s take a look at the other two methods.

<strong>array_replace<span style="font-size: 20px;"></span></strong>Function

In PHP you can pass

array_replace Function to replace the value of the first array with the value of the following array. array_replace The basic syntax format of the function is as follows:

array_replace(array1,array2,array3...)

What needs to be noted is:


The parameter array1 represents the array we need to replace, the parameter array2 represents the array that specifies the value of array1 to be replaced, and array3 represents the array that specifies multiple arrays that need to be replaced. The subsequent values ​​​​will be overwritten. the previous value. The returned result is the replaced array. If there is an error in the function, the returned result is

NULL.

Let’s take a look at the use of the array_replace function through an example. The example is as follows:

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

Output result:


Take you to quickly master the replacement of PHP array elements (detailed examples)

In the above example, a key name not only exists in the first array, but also in the second array. At this time, the value in the first array will be replaced by the value in the second array. If the first The key name in the array is separate, and there is no such key name in other arrays. At this time, the key name and the value will remain unchanged.

This is a case where a key only exists in the first array. Let’s look at a key that only exists in the second or subsequent array. Let’s look at another example:


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

Output result:


Take you to quickly master the replacement of PHP array elements (detailed examples)

It can be seen from the above example that when a key does not exist in the first array, it only exists in the first array. When there are two arrays, the key name and value will be re-created in the first array. The above examples are two sets of arrays. Let's take a look at three sets of arrays.

The example is as follows :

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

Output result:


Take you to quickly master the replacement of PHP array elements (detailed examples)

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

这便是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的使用,示例如下:

<?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));
?>

输出结果:

Take you to quickly master the replacement of PHP array elements (detailed examples)

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

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

The above is the detailed content of Take you to quickly master the replacement of PHP array elements (detailed examples). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn