After unset is used in php to delete an element, the array index is not re-created because the index is not re-created. If you continue to use the index after unset, an error is returned. In this case, you can use array_values to re-create the array index. $ Arrarray (1, 2, 4); unset ($ arr [1]); echo $ array [1]; errorUndefinedoffsetprint_r ($ arr );
After unset is used in php to delete an element, the array index is not re-created because the index is not re-created. If you continue to use the index after unset, an error is returned. In this case, you can use array_values to re-create the array index. $ Arr = array (1, 2, 4); unset ($ arr [1]); echo $ array [1]; // error Undefined offsetprint_r ($ arr );//
After unset is used in php to delete elements, the array index is not rebuilt.
Because the index is not re-created, an error is reported when you continue to use the index after unset.array_values
Re-create an array index.
$ Arr = array (1, 2, 4); unset ($ arr [1]); echo $ array [1]; // error Undefined offsetprint_r ($ arr ); // The output is as follows/** Array ([0] => 1 [2] => 3 [3] => 4) **/$ arr = array_values ($ arr ); print_r ($ arr); // The output is as follows/** Array ([0] => 1 [1] => 3 [2] => 4 )**/
Reference
- Http://stackoverflow.com/questions/5943149/rebase-array-keys-after-unsetting-elements
Original article address: Re-indexing after unset elements in the PHP array. Thanks to the original author for sharing.