Re: Arrays
| From: | Jim Lucas | 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.comThis 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/