Я пытаюсь получить программу, чтобы повторить, пока переменная $ head и $ tails больше, чем 0. Я не могу понять, что я делаю неправильно. Цикл while всегда прерывается после одной итерации.Итерация ломается до того, как я хочу ее
<?php
echo "<table border=\"1\">";
echo "<tr><td>Person</td><td>Heads</td><td>Tails</td><td>Total</td></tr>";
for ($person=1; $person < 11; $person++){
echo "<tr><td>Person $person </td>";
$both = 0;
$heads = 0;
$tails = 0;
$total = 0;
while ($both < 1){
do {
$total++;
$random = rand(1,2);
if ($random == 1){
$heads++;
} else{
$tails++;
}
} while (($tails < 0) && ($heads < 0));
$both = 1;
}
echo "<td>$heads</td><td>$tails</td><td>$total</td>";
echo "</tr>";
}
echo "</table>";
?>
Работал красиво. Огромное спасибо. Я не уверен, почему я думал, что это оператор &&! – stytown
Для вашего вопроса он присваивает $ both = 1 только после того, как как $ хвосты, так и $ head больше 0. – stytown
@stytown Правильно, но вы не выйдете из этого внутреннего цикла, пока оба '$ хвоста' и' $ head' не будут больше, чем '0', так что вы никогда не будете запускать внешний цикл более одного раза. – Wiseguy