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... 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? 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. 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. 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! Link to comment https://forums.phpfreaks.com/topic/106340-solved-foreach-confusion/#findComment-545348 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.