Re: resetting arrays
| From: | Al | 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()