Jump to content

[SOLVED] foreach confusion


14pulsars

Recommended Posts

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

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:

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!

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.