4

因为我是一个音乐书呆子,所以我做了一个小脚本来生成一个随机的节奏模式:

echo "X ";
for ($beats=rand(0,11); $beats>0; $beats--){
  $xo=rand(0,2);
  if ($xo==0){
    echo "x ";
  }
  else {
    echo "- ";
  }
}

它提供最多 12 个节拍的随机节奏,其中“x”表示重音节拍,第一个节拍总是重音节拍。(示例输出:XXX--)

现在,为了看起来,我想将这些数据放入一个 html 表中。我希望上面示例的标记如下所示:

<table border="1">
    <tr>
        <th>Beat:</th>
        <th>1</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>
        <th>6</th>
        <th>7</th>
    </tr>
    <tr>
        <td>Accent:</td>
        <td>X</td>
        <td>-</td>
        <td>x</td>
        <td>-</td>
        <td>x</td>
        <td>-</td>
        <td>-</td>
    </tr>
</table>

唉,这就是我的编程技能结束的地方。谁能提供一些代码来帮助解决这个问题?

4

2 回答 2

2

只需在表格中生成模式:

<?php
    $numBeats=rand(0,11);
?>
<table border="1">
    <tr>
    <?php
        echo "<td>Beat:</td>";
        for ($i=1; $i<=$numBeats+1; $i++){
            echo "<td>" . $i  . "</td>";
        }
    ?>
    </tr>
    <tr>
    <?php
        echo "<td>Accent:</td>";
        echo "<td>X</td>";
        for ($beats=$numBeats; $beats>0; $beats--){
          $xo=rand(0,2);
          if ($xo==0){
            echo "<td>x</td>";
          }
          else {
            echo "<td>-</td>";
          }
        }
    ?>
    </tr>
</table>
于 2013-06-06T22:44:26.543 回答
1
<table border='1'>
  <tr>
    <th>Beat:</th>

<?
$times = rand(1,12);
$i = 1;
while ($i <= $times) {
  echo "<th>$i</th>";
  $i++;
}
?>

  </tr>
  <tr>
    <td>Accent:</td>
    <td>X</td>

<?
$i = 1;
while ($i <= ($times-1)) {
  if (rand(0,1)) { echo "<td>x</td>";}
  else {echo "<td>-</td>";}
  $i++;
}
?>

  </tr>
</table>
于 2013-06-06T22:56:12.267 回答