Tuesday, December 20, 2011

Re: comparing arrays

Thanks,
To make sure I'm undersatnding correctly, you can not change the
values in an array that is being scanned by foreach, you need to send
changes based on the scan to a new variable?

This worked
$weeks_prices = array();
foreach($discount_prices as $key => $discount_price){
if(!isset($discount_price)) $weeks_prices[$key] =
$item_prices[$key];
else $weeks_prices[$key] = $discount_price;
}

On Dec 20, 8:14 am, euromark <dereurom...@googlemail.com> wrote:
> basic php
> you cannot override $discount_price locally and expect it to change
> anything outside of the loop and the scope of this change
>
> if(!isset($discount_price)) $discount_prices[$key] =
> $item_prices[$key];
>
> On 20 Dez., 16:37, roundrightfarm <roundrightf...@gmail.com> wrote:
>
>
>
>
>
>
>
> > The two arrays made with find() look like I would expect them to, but
> > the foreach loop leaves $discount_prices (of which many have null
> > values) unaffected.  What am I missing here?
>
> > //get regular prices
> >                 $item_prices = $this->Item->find('list', array('fields' =>
> > array('Item.price')));
>
> > //see if there are any discounts prices for the week's items
> >                 $discount_prices = $this->Order->Week->WeeksItem->find('list',
>
> > array('fields'=>array('item_id','discount_price'),
> > 'conditions'=>array('week_id'=>$week_id)));
>
> > //if there is no discount price (value is null), add the regular price
> >                 foreach($discount_prices as $key => $discount_price){
> >                         if(!isset($discount_price)) $discount_price = $item_prices[$key];
> >                 }

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

No comments: