Re: [PHP] Arrays
[email protected] (Jim Lucas)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
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/