There are many ways to delete elements in an array in PHP. This article will summarize several methods for deleting one element of an array and deleting multiple elements from an array in PHP. So, without further ado, let’s get straight to the text.
Delete an element in the array
If you want to delete an element in the array, you can use the unset() or array_splice() method.
If you know the value of the array element but not the key, you can use array_search() to get the key.
unset() method
Note that if you use the unset() method, it will not change other keys. If you want to change other keys (key) To rearrange the order, you can use array_values().
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你要删除的数组元素值的键 print_r($array); ?>
Output result:
Array ( [0] => a [2] => c )
array_splice() method
If you use the array_splice() method, the keys of the array will be automatically re-indexed, But it does not work for associative arrays. You need to use array_values() to convert the keys to numeric keys.
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); array_splice($array, 1, 1); //↑ Offset which you want to delete print_r($array); ?>
Output result:
Array ( [0] => a [1] => c )
array_splice() has the same effect as the unset() function in releasing the specified elements of the array.
Delete multiple elements from an array
If you want to delete multiple elements from an array, you cannot use the unset() or array_splice() function. You You need to use array_diff() or array_diff_key() method. To use this method, you need to know the key or value to be deleted.
array_diff() method
If you know the array element you want to delete, you can use array_diff().
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff($array, ["a", "c"]); //└────────┘→你要删除的元素 print_r($array ); ?>
The output result is:
Array ( [1] => b )
array_diff_key() method
If you know the key of the array element to be deleted, you can Use array_diff_key(). You need to enter the key to be deleted in the key value position of the second parameter of the function. The value is not required and can be optional.
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff_key($array, [0 => "xy", "2" => "xy"]); //↑ ↑ 你要删除的数组键 print_r($array); ?>
The output result is:
Array ( [1] => b )
Recommended related articles:
PHP delete array elements and delete duplicate array functions
Re-indexing of deleted elements in php array, php array element index
php deletes the same elements in the array, leaving only one identical element, php array
The above is the detailed content of Summary of methods for deleting one element from an array and deleting multiple elements from an array in PHP (with code). For more information, please follow other related articles on the PHP Chinese website!