post — Уведомление о неопределенном смещении в базовом скрипте PHP

Это мой первый вопрос в стеке потока.

Итак, вот мой код:

    <form method="post" action="#">
<input type="text" name="tags">
<input type="submit" value="Submit">
</form>
<?php if ($_POST && isset($_POST['tags'])) {
$tags =  explode(', ', $_POST['tags']);
for ($i=0; $i <= count($tags); $i++) {
echo htmlentities("$i : " . $tags[$i]) . "</br>";
}
}
?>

Код работает и печатает все, разделенное на «,», но он дает мне Уведомление, и это сводит меня с ума.

уведомление

Примечание: неопределенное смещение: 3 в C: \ xampp \ htdocs .. \ 01.PrintTags.php on
строка 16 3:

Я надеюсь, что кто-то, кто имеет больше опыта, чем я, мог бы дать мне несколько советов о том, как это исправить и объяснить мне, почему это происходит.
Заранее спасибо.

2

Решение

это происходит потому, что вы начинаете свой цикл с 0 и заканчиваете общую длину массива. либо начните свой цикл с 1 или удалите = знак из вашей петли. в вашем случае цикл будет выполняться более чем на 1 шаг, чем значения в массиве. использовать этот

<?php if ($_POST && isset($_POST['tags'])) {
$tags =  explode(', ', $_POST['tags']);
for ($i=0; $i < count($tags); $i++) {
echo htmlentities("$i : " . $tags[$i]) . "</br>";
}
}
?>

лучший способ, вы можете использовать foreach для этого. подобно

foreach($tags as $key=>$val)
{
echo $val;
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]