-3

こんにちは、試行したコードです。最初の while ステートメントは行に対して機能します (weights0 に対して機能しますが、列 (高さ) に対しては機能しません)。それは機能するので、min_height 入力値が 20 で max_height が 50 の場合、列はこの 20 25 30 35 40 45 50 のように見えます。現在、私のコードは行では機能しますが、列では機能しません。

<?php
$rowiStep = 5;
$coliStep = 5;
// Get these
$iweightMin = $_GET["min_weight"];
$iweightMax = $_GET["max_weight"];
$iheightMin = $_GET["max_height"];
$iheightmax = $_GET["min_height"];

$iCur = $iweightMin;
$iCol = $iheightMin;
print('<table class="table">');
print('<tr ><td>Height/</br>Weight</td>');
while ($iCur <= $iweightMax) {
    printf('<tr><td>%d</td></tr>', $iCur);
    $iCur += $rowiStep;
}

$rowiCol = $iheightMin;

while ($iCol <= $iheightmax) {
   printf('<tr><td></td>', $iCol);
   $iCol += $rowiCol;
}

print ('</tr>');
print('</table>');  

?>
4

1 に答える 1

0

身長/体重の行列を印刷したい場合; これを試して:

$rowiStep = 5;
$coliStep = 5;
$output = array(
    '<table>'
);

for( $row_val = $_GET['min_weight'], $row_max <= $_GET['max_weight'];
     $row_val < $row_max;
     $row_val += $rowistep )
{
    $output[] = '<tr><td>' . $row_val . '</td>';
    for( $col_val = $_GET['min_height'], $col_val <= $_GET['max_height'];
         $col_val < $col_max;
         $col_val += $colistep )
    {
        $output[] = '<td>' . $col_val . '</td>';
    }
    $output[] = '</tr>';
}
$output[] = '</table>';
echo implode( "\n", $output );

これにより、次のような出力が生成されます。

|min_weight            |min_height|min_height+colIStep|min_height+2colIstep|...|
|min_weight + rowIstep |min_height|min_height+colIStep|min_height+2colIstep|...|
|min_weight + 2rowIstep|min_height|min_height+colIStep|min_height+2colIstep|...|
|...|

どのような出力を探していますか?

于 2013-03-14T21:31:34.470 に答える