On 02/25/2013 05:40 PM, Karl DeSaulniers wrote:
Hi Guys/Gals,
If I have an multidimensional array and it has items that have the same
name in it, how do I get the values of each similar item?

EG:

specialservices => array(
specialservice => array(
serviceid => 1,
servicename=> signature required,
price => $4.95
),
secialservice => array(
serviceid => 15,
servicename => return receipt,
price => $2.30
)
)

How do I get the prices for each? What would be the best way to do this?
Can I utilize the serviceid to do this somehow?
It is always going to be different per specialservice.

TIA,

Best,

Karl DeSaulniers
Design Drumm
http://designdrumm.com



This will never work. Your last array will always overwrite your previous array.

Here is how I would suggest building it:


$items = array(
    1 => array(
        serviceid => 1,
        servicename=> signature required,
        price => $4.95
    ),
    15 => array(
        serviceid => 15,
        servicename => return receipt,
        price => $2.30
    )
)

This will ensure that your first level indexes never overwrite themselves.

But, with that change made, then do this:

foreach ( $items AS $item ) {
  if ( array_key_exists('price', $item) ) {
    echo $item['price'];
  } else {
    echo 'Item does not have a price set';
  }
}

Resources:
http://php.net/foreach
http://php.net/array_key_exists

--
Jim Lucas

http://www.cmsws.com/
http://www.cmsws.com/examples/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to