Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #5811

Re: Removing specific array items

Message-ID <1401150.AFRqVoOGUt@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2012-05-03 18:05 +0200
Subject Re: Removing specific array items
Newsgroups comp.lang.php
References <jnu10f$v35$1@dont-email.me>
Followup-To comp.lang.php

Followups directed to: comp.lang.php

Show all headers | View raw


Scott Johnson wrote:

> In a simple quote cart I track items in a session.
> 
> $_SESSION['quote'][##] = {data}
> 
> Which increments the ## for each added item.

ISTM you are looking for

  $_SESSION['quote'][] = $data;

instead, which automatically increments the index of the item in 
$_SESSION['quote'].  On the other hand, if the real code was

  $_SESSION['quote'][$index] = $items[$index];

you might want to consider simplifying the loop to one statement:

  $_SESSION['quote'] = $items;

> At the time when the client wants to remove an item from the cart I just
> clear the {data} from $_SESSION['quote'][item_id] = '';

Consider

  unset($_SESSION['quote'][$item_id]);

instead.
 
> The issue i run into is when I want to display the cart, i just cant
> step thru the array without seeing if a particular item is '',

(Please try to work on your spelling.)

> which works but would like to find a more 'elegant' way.

After the above, you might want to use

  if (!isset($_SESSION['quote'][$item_id])
  {
    /* Item with $item_id exists */
  }

This approach is more precise in combination with is_null().

> With all that said, is there a way to remove the item from the array
> rather then clear the items data.
                                  ^
That is _not_ a question.

> I have looked thru the 50+ different array functions and can't seem to
> find the right tool.  Maybe a combination I am not seeing.

There is:

<http://php.net/unset>
<http://php.net/isset>
<http://php.net/is_null>


PointedEars
-- 
    realism:    HTML 4.01 Strict
    evangelism: XHTML 1.0 Strict
    madness:    XHTML 1.1 as application/xhtml+xml
                                                    -- Bjoern Hoehrmann

Back to comp.lang.php | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Removing specific array items Scott Johnson <noonehome@chalupasworld.com> - 2012-05-03 06:25 -0700
  Re: Removing specific array items Jerry Stuckle <jstucklex@attglobal.net> - 2012-05-03 10:55 -0400
    Re: Removing specific array items Scott Johnson <noonehome@chalupasworld.com> - 2012-05-03 16:32 -0700
  Re: Removing specific array items "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2012-05-03 17:20 +0200
  Re: Removing specific array items Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-05-03 18:05 +0200

csiph-web