Deleting array elements in php is very simple, but sometimes deleting an array requires some sorting of the index. We will use the relevant functions , here we will introduce the difference between using unset,array_spliceDeleting elements in an array
If you want to delete an element in an array, you can use unset directly, but the index of the array does not Will rearrange:
<?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?>
The result is:
Array ( [0] => a [2] => c [3] => d )
So how can we ensure that the missing elements are filled and the array is re-indexed? The answer is array_splice():
<?php $arr = array('a','b','c','d'); array_splice($arr,1,1); print_r($arr); ?>
The result is:
Array ( [0] => a [1] => c [2] => d )
Delete specific elements in the array
<?php $arr2 = array(1,3, 5,7,8); foreach ($arr2 as $key=>$value) { if ($value === 3) unset($arr2[$key]); } var_dump($arr2); ?>
Supplementary deletion of empty array
Example:
<?php $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>""); array_filter($array); echo "<pre class="brush:php;toolbar:false">"; print_r($array); ?>
Result:
Array ( [a] => abc [b] => bcd [c] => cde [d] => def )
Summary
If the array_splice() function is deleted, the index value of the array will also change.
If the unset() function is deleted, the index value of the array will not change.
The above is the detailed content of How to use unset, array_splice to delete elements in an array. For more information, please follow other related articles on the PHP Chinese website!