Home  >  Article  >  Backend Development  >  How to delete multiple elements of an array in php

How to delete multiple elements of an array in php

PHPz
PHPzOriginal
2023-04-26 14:22:12584browse

In PHP, an array is a data structure that facilitates storage and access of a set of data. Sometimes, we need to remove multiple elements from an array, and this process can be a bit tricky. This article will explain how to use PHP's array functions to delete multiple elements in an array.

1. Use the unset() function

PHP’s unset() function can be used to delete a single element in an array. However, if we need to remove multiple elements, we can use the following code:

$myArray = array(1,2,3,4,5,6);
$removeArray = array(2,4,6); //需要删除的元素
foreach($removeArray as $value){
    if(($key = array_search($value, $myArray)) !== false){ //查找是否存在该元素
        unset($myArray[$key]); //删除元素
    }
}

Here, we first define an array $removeArray of elements to be removed, and use foreach() to loop through $removeArray. In each loop, we search $myArray for the current element. If the element exists in $myArray, use the unset() function to remove it from the array.

2. Use the array_diff() function

In PHP, the array_diff() function can be used to perform difference comparisons on arrays. By passing one of the arrays as a parameter to the array_diff() function, we can get different elements from the other array. Here is the sample code:

$myArray = array(1,2,3,4,5,6);
$removeArray = array(2,4,6); //需要删除的元素
$newArray = array_diff($myArray, $removeArray); //获取不同的元素

In this case, $newArray will be a new array containing 1,3,5. This is how PHP's array_diff() function deletes multiple elements in an array.

3. Use the array_filter() function

PHP’s array_filter() function can help us filter out specific elements from the array. We can remove multiple elements from an array by defining filter rules in the callback function. The following is the sample code:

$myArray = array(1,2,3,4,5,6);
$removeArray = array(2,4,6); //需要删除的元素
$newArray = array_filter($myArray, function($element) use($removeArray){
    return !in_array($element, $removeArray); //返回不包含需要删除元素的元素
});

Here, we filter the elements in $myArray by defining a callback function in the array_filter() function. In the callback function, we use the in_array() function to check whether the element matches any element in $removeArray. If there is no match, the element is retained; otherwise, it is removed from the new array.

Summary

This article introduces three methods of deleting multiple elements in an array in PHP. Please choose the method that works best for you based on your circumstances. If you need to remove a smaller number of elements, you can use the unset() function. If you need to delete by comparing two arrays, you can use the array_diff() function. If you need to use custom rules to remove elements, you should use the array_filter() function. Use these functions to easily remove multiple elements from a PHP array.

The above is the detailed content of How to delete multiple elements of an array in php. 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