Home >Backend Development >PHP Problem >How to delete elements with specified value in php array?

How to delete elements with specified value in php array?

青灯夜游
青灯夜游Original
2020-11-05 09:48:067515browse

Deletion method: 1. Use the foreach and unset() functions to delete specific values ​​in the array; 2. Use the array_flip() function and unset() function to delete specific values ​​in the array; 3. Use array_search() and unset() function deletes a specific value in the array.

How to delete elements with specified value in php array?

Recommendation: "PHP Video Tutorial"

php deletes elements in an array

1. Use the foreach and unset() functions to delete specific values ​​in the array

foreach($array as $k=>$v){
if($v == 'day'){
unset($array[$k]):
}
}

The unset() function can delete the specified array value.

unset ( $var [, $... ] )

Parameter description: $var: variable to be destroyed.

2. Use the array_flip() function and unset() function to delete specific values ​​in the array

$arr = array_flip($arr);
unset($arr['world']);
$arr = array_flip($arr);
print_r($arr);

array_flip() is an inversion function that changes the original value of the array to The key name becomes the key value, and the key value becomes the key name, so that the above operation is easy to understand.

3. Use the array_search() and unset() functions to delete specific values ​​in the array

if(($key = array_search('day',$arr))){
unset($arr[$key]);
}

array_search() function is the same as in_array(), searching in the array A key value. If the value is found, the key of the matching element is returned. If not found, returns false.

4. The array_splice() function can play the same role as the unset() function

if(($key = array_search('day',$arr))){
array_splice($arr, $key,1);
}

array_splice() function removes the selected elements from the array and uses The new element replaces it; the function also returns the array of the removed element. If the function removes no elements (length=0), the replacement array will be inserted at the position of the start parameter. Key names in substitution arrays are not preserved.

array_splice(array,start,length,array)

array_splice() has four parameters:

How to delete elements with specified value in php array?

##5. array_unique() allows this specific value to be left alone in the array

Note: All the above operations only delete the first element in the array that is the same as the value you gave. Even if the subsequent elements are equal to the value you gave, they are not deleted!

Before performing all the above code operations, first perform the array_unique($array) operation to merge and delete the duplicate values ​​in the array, and then perform the above deletion so that no duplicate values ​​in the array are left. .

6. Only delete the key value corresponding to the specific value, leaving other values ​​untouched

In the fifth step, while the specific value is deleted, other irrelevant values ​​are also merged. , then what should we do if we don’t touch other values? Just repeat the operations one to four above. To get the array length, use a for loop. Of course, this is the stupidest way~~

The function to get the array length is count($arr)

for(count($arr))if($key = array_search('day',$arr))array_splice($arr,$key,1);

For more programming-related knowledge, please visit:

Introduction to Programming! !

The above is the detailed content of How to delete elements with specified value in php array?. 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
Previous article:How to remove html in phpNext article:How to remove html in php