За последние 24 часа нас посетили 18696 программистов и 1659 роботов. Сейчас ищут 997 программистов ...

Php для новичков

Тема в разделе "PHP для новичков", создана пользователем Sinevik, 25 фев 2017.

  1. Sinevik

    Sinevik Новичок

    С нами с:
    7 фев 2017
    Сообщения:
    83
    Симпатии:
    4
    Здравствуйте. Читаю книгу Котеров, Костарев php для новичков. Не могу понять что происходит в данном скрипте
    Вижу массив, вижу цикл. А вот дальше что то не въезжаю
    если ключ $k === $selected
     

    Вложения:

  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    В $k будет id из массива, в $select будет id из аргумента в функции, логика такая в цикле мы формируем несколько option тегов для select тега и только для одного option который по id совпадает с тем что передали аргументом в функцию, для него добавим текст checked что в html для этого тега будет значит как выбранный по умолчанию пункт из select,
    это делают чтобы например сохранить выбор пункта из select.
    Вот ещё примеры
    http://code.runnable.com/VTSNl5PkmAYuVsGs/simple-checkbox-list-and-array-for-php
    http://code.runnable.com/VTUxcxHr5sJO0Anz/html-checkbox-list-poll-and-php-array
     
    Sinevik нравится это.
  3. Sinevik

    Sinevik Новичок

    С нами с:
    7 фев 2017
    Сообщения:
    83
    Симпатии:
    4
    HTML:
    1. <option>Пункт 1</option>  
    2. <option>Пункт 2</option>
    3. <option>Пункт 3</option>
    То есть если у нас второй аргумент в функции равен 1, то в тег <option>Пункт 2</option> добавим текст checked. Потому что у нас
    $k ===$selected, а ключ у нас начинается в массиве с нуля. То есть 1 получается второй тег <option>Пункт 2</option>
     
    #3 Sinevik, 25 фев 2017
    Последнее редактирование модератором: 26 фев 2017
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Sinevik проверь, но вроде ты логично описал всё
     
    Sinevik нравится это.
  5. Sinevik

    Sinevik Новичок

    С нами с:
    7 фев 2017
    Сообщения:
    83
    Симпатии:
    4
    Последний вопрос а что значит запись text.=<option.....?
    --- Добавлено ---
    Я вот не понял а где в скрипте написан этот чекенд? Там просто $ch = " selected". С пробелом, зачем пробел
     
  6. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Что бы не слилось с option,если пробела не будет то получится:
    <optionselected...>
     
    Sinevik и denis01 нравится это.
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    https://secure.php.net/manual/ru/language.operators.string.php
    соединение строк, конкатенация, аналог
    PHP:
    1. $text = $text.'<option...';
    используй редактор с подсветкой, например netbeans,
    $ch тут: $text .= '<option$ch...'
     
    Sinevik и alexblack нравится это.
  8. Sinevik

    Sinevik Новичок

    С нами с:
    7 фев 2017
    Сообщения:
    83
    Симпатии:
    4
    Благодарю! разобрался
     
    denis01 нравится это.