За последние 24 часа нас посетили 18129 программистов и 1677 роботов. Сейчас ищут 1111 программистов ...

Ошибка в скрипте с управлением цикла.

Тема в разделе "PHP для новичков", создана пользователем Zerone, 30 авг 2013.

  1. Zerone

    Zerone Активный пользователь

    С нами с:
    23 дек 2009
    Сообщения:
    9
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.     $names = ('Ярослав', 'Александр');
    3.     foreach($i = 0; $i < 100; $i++)
    4.     {
    5.         if($names[$i] == 'Александр') break;
    6.     }
    7.     echo 'Имя "Александр" стоит на ' . $i . ' позиции';
    8.  
    9.     // выведет:
    10.     // 'Имя "Александр" стоит на 2 позиции'
    11. ?>
    аналогичная ошибка и в следующем коде
    Код (Text):
    1.  
    2. <?php
    3.     $names = ('Ярослав', 'Александр');
    4.     foreach($i = 0; $i < 100; $i++)
    5.     {
    6.         if($names[$i] != 'Александр') continue;
    7.         echo 'Имя "Александр" стоит на ' . $i . ' позиции';
    8.     }
    9.  
    10.     // выведет:
    11.     // 'Имя "Александр" стоит на 2 позиции'
    12. ?>
    При исполнении на веб сервере получаю ошибку
    Код (Text):
    1. Parse error: syntax error, unexpected ',' in W:\home\localhost\www\foreach1_break.php on line 2
    2. Parse error: syntax error, unexpected ',' in W:\home\localhost\www\foreach1_continue.php on line 2
    Суть запрашиваемой помощи, понять почему интерпретатору не нравятся запятые и как его с ними подружить.

    Я может быть не совсем корректно назвал тему, за что заранее прошу прощения, но я только начал изучать php и проблема посути возникла из-за неправильно написанного кода в примере учебника, как я думаю.


    Буду признателен за любую помощь, спасибо.
     
  2. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Ну думаю $names = ('Ярослав', 'Александр'); массив, так как там 2 имени соответственно $names =array ('Ярослав', 'Александр');
    а это foreach($i = 0; $i < 100; $i++) попробуй так - for($i = 0; $i < 100; $i++)

    Добавлено спустя 4 минуты 38 секунд:
    а имя выводить надо так echo
    'Имя ' .$names[1]. ' стоит на ' . $i . ' позиции';
    Следует учесть что массив начинает считать с 0

    Добавлено спустя 3 минуты 10 секунд:
    а имя выводить надо так echo
    'Имя ' .$names[1]. ' стоит на ' . $i . ' позиции';
    Следует учесть что массив начинает считать с 0

    Добавлено спустя 11 минут 24 секунды:
    Вот можешь почитать ))http://www.php.su/learnphp/cs/?cycles#foreach
     
  3. Zerone

    Zerone Активный пользователь

    С нами с:
    23 дек 2009
    Сообщения:
    9
    Симпатии:
    0
    Спасибо, ваш совет действительно помог, в будущем постараюсь быть внимательнее.