xiao Posted April 20, 2008 Share Posted April 20, 2008 If I have this array: $stack = array("orange", "banana", "apple"); I want to remove banana, and apple should be $stack[1] instead of $stack[2] When I use unset, I have unexisting keys in my array, giving errors outputting them. Is there maybe a way to reset all keys in an array? Or otherwise a way to split it up into 2 arrays ("orange" and "apple") and merging them (with reset keys)? Quote Link to comment Share on other sites More sharing options...
dptr1988 Posted April 20, 2008 Share Posted April 20, 2008 Use array_splice(). It will cut out items from your array and 'reset' the numeric keys http://us3.php.net/manual/en/function.array-splice.php Quote Link to comment Share on other sites More sharing options...
xiao Posted April 20, 2008 Author Share Posted April 20, 2008 edit: got it. Thanks Quote Link to comment Share on other sites More sharing options...
dptr1988 Posted April 20, 2008 Share Posted April 20, 2008 if bannana is the second element in the array it would work like this <?php $stack = array("orange", "banana", "apple"); // Note: we don't need to keep the result, '$banana' $banana = array_splice($stack, 1, 1); print_r($stack); ?> Array indices start at 0 rather then 1. So the number '1' refers to the second element in the array. For the 'length' argument, we use '1' to tell the function that we only want to remove 1 element. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.