Я изучаю PHP, и я не могу заставить этот кусок кода работать, я только начинаю изучать php и не могу понять это. Онлайновый валидатор сообщает, что проблем не найдено, но для меня это бесконечный цикл. Может кто-нибудь сказать мне, почему $ eggUsage не вычитается из $ eggs.
Спасибо 🙂
<?php
$eggs = 12;
$eggUsage = 0;
while($eggs - $eggUsage > 0) {
$eggUsage = rand(0, 1, 2, 3, 4);
$eggs = $eggs - $eggUsage;
echo "You have {$eggs} left";
}
if ($eggs < 4) {
$eggUsage = rand(0, 1, 2, 3, 4);
$eggs == $eggs - $eggUsage;
echo "You are almost out. BUY EGGS!";
}
echo "<p>Congratulations, you are out of eggs.</p>"?>
rand()
ожидает 2 параметра, вы дали 4 в вашем коде.
Пытаться rand( 0, 4 )
,
Кроме того, не забывайте ;
в вашем последнем эхо, и у вас была небольшая ошибка в линии $eggs == $eggs - $eggsUsage
, который должен быть один =
,
Этот фрагмент кода прекрасно работает для меня:
$eggs = 12;
$eggUsage = 0;
while($eggs - $eggUsage > 0) {
$eggUsage = rand(0,4);
$eggs = $eggs - $eggUsage;
echo "You have {$eggs} left";
}
if ($eggs < 4) {
$eggUsage = rand(0,4);
$eggs = $eggs - $eggUsage;
echo "You are almost out. BUY EGGS!";
}
echo "<p>Congratulations, you are out of eggs.</p>" ;
так должно быть array_rand(0,1,2,3,4)
выбирать значения из массива, но так как массив содержит числа от 0 до 4, rand(0,4)
в порядке