Ошибка notice: undefined offset: 0 in c:\xampp\htdocs\kinomonster\index.php on line 35?
Ребят, что я делаю не так что выдает эту ошибку? КОД ниже
<?php
$i = 1;
/* while ($i <= 11) {
echo $i."<br>";
$i++;
} */
/* do {
echo $i."<br>";
$i++;
} while ($i <= 10); */
/* for ($i = 1; $i <= 10 ; $i++) {
echo $i."<br>";
} */
$arr[1] = "продукты";
$arr[2] = "напитки";
$arr[3] = "фрукты";
$arr[4] = "овощи";
$arr[5] = "кола";
$arr[6] = "сигареты";
$arr[7] = "игрушки";
$arr[8] = "ягоды";
$arr[9] = "пиво";
$arr[10] = "рыба";
$arr[11] = "мясо";
$arr[12] = "соль";
for ($i=0; $i <= count($arr); $i++) {
echo $arr[$i]."<br>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
4 ответов
Ошибка в цикле:
for ($i=0; $i <= count($arr); $i++) {
Вы пишите, $i = 0, а ваш массив $arr начинаете задавать с 1, а так как цикл начинается с 0, программа не находит индекс массива $arr[0] и поэтому показывает ошибку.
не надо ставить <= просто < и все заработает
<?php
$mas = ["green","red","yellow","black","purple","white"];
$ran = mt_rand(0,count($mas)-1);
echo $mas[$ran].'<br>';
$svetafor = $mas[$ran];
switch($svetafor){
case 'green':
echo 'Можете переходить дарогу светафор зеленый';
break;
case 'red':
echo 'светафор краснный';
break;
case 'yellow':
echo 'Светафор желтый Подождите когда загариться зеленый';
break;
default:
echo "Светафор не работаеть";
break;
}
?>
Причину нашел, нету $arr[0] и нужно в цикле for поставить условие не <= а просто < .