Re: Arrays

From: Date: Tue, 26 Feb 2013 01:50:12 +0000
Subject: Re: Arrays
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-320296@lists.php.net to get a copy of this message
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/

« previous php.general (#320296) next »