变量语法和for循环问题

时间:2014-03-12 15:11:16

标签: php variables for-loop

我使用变量作为数组中的键。我明白不会与超级全球人一起工作。 以下代码段将运行正确的次数,但仅在第一次迭代时获取数据。我是否有变量语法问题或循环问题?任何人都可以为新手澄清这个吗?

$php_postData = $_POST; 

$php_totalPanels = $_SESSION['totalPanels']; 

for ($php_count=1;$php_count<$php_totalPanels; $php_count++){
echo "<div class='individualQuote'>";

$php_currentItemWidth = 'width_' . $php_count; 
$php_currentItemHeight = 'height_' . $php_count;        
$php_currentItemDescription = 'description_' . $php_count;
$php_currentItemPartNumber = 'partNumber_' . $php_count;
$php_currentItemLexan = 'lexan_' . $php_count;
$php_currentItemVinyl = 'vinyl_' . $php_count;
$php_currentItemPolyester = 'polyester_' . $php_count;

if ( isset($php_postData[$php_currentItemDescription]) ){
echo "<p><span class='em'>Label Name: </span>" . $php_postData[$php_currentItemDescription] . "</p>";   
}

if ( isset($php_postData[$php_currentItemPartNumber]) ){
echo "<p><span class='em'>Part Number: </span>" . $php_postData[$php_currentItemPartNumber] . "</p>";   
}


if ( isset($php_postData[$php_currentItemLexan]) && $php_postData[$php_currentItemLexan] != '0' ) {
echo "<p><span class='em'>Material: </span>" . $php_postData[$php_currentItemLexan] . "</p>";
} 

if ( isset($php_postData[$php_currentItemVinyl]) && $php_postData[$php_currentItemVinyl] != '0'){
echo "<p><span class='em'>Material: </span>" . $php_postData[$php_currentItemVinyl] . "</p>";
} 

if ( isset($php_postData[$php_currentItemPolyester]) && $php_postData[$php_currentItemPolyester] != '0'){
echo "<p><span class='em'>Material: </span>" . $php_postData[$php_currentItemPolyester] . "</p>";
}

if ( isset($php_postData[$php_currentItemWidth]) && isset($php_postData[$php_currentItemHeight]) ){
echo "<p><span class='em'>Size: </span>" . $php_postData[$php_currentItemWidth] . " x " . $php_postData[$php_currentItemHeight] . "</p>";
 }  

echo "</div>";
}   

1 个答案:

答案 0 :(得分:1)

您是否可以举例说明您要发布的数据?

查看代码,循环从1开始,并在低于totalPanels值时继续。如果您只发布一个包含2组数据的数组,那么只会打印出一组数据。也许你的循环应该运行,直到计数低于或等于totalPanels E.g:

for ($php_count=1;$php_count<=$php_totalPanels; $php_count++){...}

或许你的意思是让循环计数从零开始,例如:

for ($php_count=0;$php_count<$php_totalPanels; $php_count++){...}

我认为其中任何一个都应该使您的代码在所有发布的值上运行。