The functions to delete array elements in php are: 1. unset() function; 2. array_splice() function; 3. array_diff() function; 4. array_diff_key() function.
Specific method:
(Recommended tutorial: mysql tutorial)
Delete an element, And keep the original index unchanged
Use the unset function, the example is as follows:
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你想删除的key ?>
Output:
Array ( [0] => a [2] => c )
Using unset does not change the original index of the array.
If you plan to rearrange the index (so that the index starts from 0 and is continuous), you can use the array_values function:
$array = array_values($array);
Output
array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }
Delete an element without keeping the index
Use the array_splice function, the example is as follows:
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); array_splice($array, 1, 1); //↑ 你想删除的元素的Offset ?>
Output:
Array ( [0] => a [1] => c )
Delete multiple elements by value, keeping the index
Use the array_diff function, An example is as follows:
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff($array, ["a", "c"]); //└────────┘→ 你想删除的数组元素值values ?>
Output:
Array ( [1] => b )
Similar to unset, array_diff will also keep the index.
Delete multiple elements by key and keep the index
Use the array_diff_key function, the example is as follows:
<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff_key($array, [0 => "xy", "2" => "xy"]); //↑ ↑ 你想删除的数组键keys ?>
Output:
Array ( [1] => b )
Similar to unset, array_diff_key will also Keep the index.
Related recommendations: php training
The above is the detailed content of What are the functions to delete array elements in php?. For more information, please follow other related articles on the PHP Chinese website!