Re: resetting arrays

From: Date: Wed, 22 Jun 2005 00:25:35 +0000
Subject: Re: resetting arrays
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-217373@lists.php.net to get a copy of this message
in general, you should use "0" as your first key, not 1. It'll save trouble. array_values() will index from 0.... $pos= 0; unset($ses_basket_items[$pos]) //will remove the first item. I. Gray wrote:
Thanks Al, That's done it! unset($ses_basket_items[$pos]); $ses_basket_items = array_values($ses_basket_items) ; They aren't big arrays so I suppose I shouldn't worry about exceeding memory limits - http://uk2.php.net/manual/en/function.array-values.php#36837 ? My only problem now is that I can't seem to delete the first value of the array. $basket is the item I want to delete from the array $baskitems.... if (array_search($basket, $baskitems) != FALSE) { $pos = array_search($basket, $baskitems); unset($ses_basket_items[$pos]); $ses_basket_items = array_values($ses_basket_items) ; } Al wrote:
I. Gray wrote:
Hi. I am sure this is easy, but I can't get this work. Is there not a php function that can do this? I have an array- for example... [1] => Yellow [2] => Green [3] => Purple [4] => Blue [5] => Red [6] => Orange [7] => Cyan What happens, say if I delete [3] => Purple? I get... [1] => Yellow [2] => Green [4] => Blue [5] => Red [6] => Orange [7] => Cyan But what if I want to reset the numbers? Like... [1] => Yellow [2] => Green [3] => Blue [4] => Red [5] => Orange [6] => Cyan I've tried this... unset($ses_basket_items[$pos]); for ($ii=0; $ii<count($ses_basket_items); $ii++) {if (isset($ses_basket_items[$ii])) {$cc++; $arry_a[$cc] = $ses_basket_items[$ii]; }} $ses_basket_items = $arry_a; where $pos is the position of the array I want to get rid of. $ses_basket_items is session variable, does that matter? Please help.
array_values()


« previous php.general (#217373) next »