Deleting array elements in php is very simple, mainly unset,array_splice
, but there are two, mixed use for a long time, some Sometimes I can't even tell the difference. This is the difference between unset and array_splice in many placesIf the array_splice() function is deleted, the index
value of the array will also change.
$arr0=array('a','b','c','d','f'); $arr1=array( 'name'=>'lidequan', 'tel'=>'131****1234', 'height'=>'175', 'weight'=>'65' ); $arr2=array( 1=>'lidequan', 3=>'131****1234', 4=>'175', 6=>'65' ); $arr3=array( 'a'=>'lidequan', 3=>'131****1234', 4=>'175', 10=>'1705', 'b'=>'65' ); //1. array_splice($arr0,2,1); //2. unset($arr0[2]); //3. array_splice($arr1,2,1); //4. unset($arr1['height']); //5. array_splice($arr2,2,1); //6. unset($arr1[4]); //7.array_splice($arr3,2,1);
array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'd' (length=1) 3 => string 'f' (length=1)
##
array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 3 => string 'd' (length=1) 4 => string 'f' (length=1)
3 and 4 The execution results are the same
array (size=3) 'name' => string 'lidequan' (length=8) 'tel' => string '131****1234' (length=11) 'weight' => string '65' (length=2)
The execution results of 5 and 6 are different
5 The execution results are as follows
array (size=3) 0 => string 'lidequan' (length=8) 1 => string '131****1234' (length=11) 2 => string '65' (length=2)
6 The execution results are as follows:
array (size=3) 1 => string 'lidequan' (length=8) 3 => string '131****1234' (length=11) 6 => string '65' (length=2)
7 The execution results are as follows:
array (size=4) 'a' => string 'lidequan' (length=8) 0 => string '131****1234' (length=11) 1 => string '1705' (length=4) 'b' => string '65' (length=2)
Summary : This shows that unset, array_splice, when deleting array elements, the principle of changing the array index value is that the
unset function deletes the elements in the array according to the array key value. After deletion, no operations are performed on the array.
array_splice function deletes elements based on the order of the elements in the array (the order starts from 0). After deleting the elements, if there is a key value in the array, it is integer elements, update the key values of these elements from 0 to n in sequence according to their order in the array.
The above is the detailed content of PHP delete elements in array function usage summary. For more information, please follow other related articles on the PHP Chinese website!