14pulsars Posted May 19, 2008 Share Posted May 19, 2008 Hi folks, a small question. I have two arrays, one named $sku, and a 2-d array named $productInfo. I need to reference the $productInfo array and another POST variable that has a naming format "productn" where n is an integer, starting from 1, from a loop responsible for printing the contents of the $sku array. This works just fine: foreach ($sku as $key => $value) echo $key.'=>'.$value.'<br />'; But the following renders absolutely nothing, not even the strings: foreach ($sku as $key => $value) echo $_POST['product'.$key + 1].'=>'.$productInfo[$value]['filename'].'<br />'; Can someone spot my error? Where is my logic flawed? Any help would be appreciated... Quote Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/ Share on other sites More sharing options...
14pulsars Posted May 19, 2008 Author Share Posted May 19, 2008 anyone? Quote Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/#findComment-545014 Share on other sites More sharing options...
BlueSkyIS Posted May 19, 2008 Share Posted May 19, 2008 for the second case, you really get absolutely nothing, not even '=>'? if so, that makes me think you have errors turned off and we're not seeing an error we should be seeing. Quote Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/#findComment-545015 Share on other sites More sharing options...
wildteen88 Posted May 19, 2008 Share Posted May 19, 2008 This: oreach ($sku as $key => $value) echo $_POST['product'.$key + 1].'=>'.$productInfo[$value]['filename'].'<br />'; Should be: oreach ($sku as $key => $value) echo $_POST['product'.($key + 1)].'=>'.$productInfo[$value]['filename'].'<br />'; Whenever doing any form of arithmetic within strings always wrap it in parenthesis. Quote Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/#findComment-545030 Share on other sites More sharing options...
14pulsars Posted May 20, 2008 Author Share Posted May 20, 2008 This: oreach ($sku as $key => $value) echo $_POST['product'.$key + 1].'=>'.$productInfo[$value]['filename'].'<br />'; Should be: oreach ($sku as $key => $value) echo $_POST['product'.($key + 1)].'=>'.$productInfo[$value]['filename'].'<br />'; Whenever doing any form of arithmetic within strings always wrap it in parenthesis. This fixed the first part of my problem - I switched to a regular array to fix the second. Thanks for your help! Quote Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/#findComment-545348 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.