Jalz Posted May 14, 2010 Share Posted May 14, 2010 Hi Guys, Currently I have some code which I wrote long hand which works, however I would like to code it more elgantly using a loop. The only difference between the lines underneath is the variable name, each variable as a different number attached to it. if($order == 0) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs0)); if($order == 1) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs1)); if($order == 2) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs2)); if($order == 3) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs3)); if($order == 4) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs4)); if($order == 5) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs5)); if($order == 6) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs6)); if($order == 7) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs7)); if($order == $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs8)); if($order == 9) $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs9)); So the loop that I managed to come up with is as follows as I wont need the if statement from my original code: //recid is a array variable I've set up foreach($recid as $order => $recid1) { $dietReqs = '$dietReqs'.$order; $event_edit->setField('DietaryRequirements',fmsCheckboxCombine($dietReqs)); } However this doesn't seem to work. It doesn't show up an error message, but nether does it write the contents of variable $dietReqs0..9 in my database field where as my long hand does.I've tried putting echo just before the variable name, that does produce an error. Any ideas what I could be doing wrong? I could keep the long code as it works, but would love to simplify it ideally. Many Thanks to all that help Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted May 14, 2010 Share Posted May 14, 2010 Try: <?php for ($order = 0;$order < 10;$order++) { $event_edit->setField('DietaryRequirements',fmsCheckboxCombine(${'dietReqs' . $order)); } ?> Ken Quote Link to comment Share on other sites More sharing options...
Jalz Posted May 14, 2010 Author Share Posted May 14, 2010 Thankyou kenrbnsn, that works a treat Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.