За последние 24 часа нас посетили 62949 программистов и 1743 робота. Сейчас ищут 854 программиста ...

Как перебрать массив

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

  1. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Добрый день.
    PHP:
    1. $array = 'r4re:rere, 343:434';
    2.   $a = array( $array );
    3.   foreach ($a as $k) {
    4.    list($name, $meta) = explode( ':', $k );
    5.   echo '
    6.        <tr>
    7.             <td class="data field-name">' . $name . '</td><td class="data field-name">' . $meta . '</td>
    8.        </tr>';
    9.   }
    Помогите, почему у меня $array разбивает по двоеточию , а не по запятой?
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
     
  3. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Понимаете, мне необходимо разобрать строку и получить следующее:
    Код (Text):
    1. <tr>
    2.             <td class="data field-name">r4re</td><td class="data field-name">rere</td>
    3.        </tr>
    4. <tr>
    5.             <td class="data field-name">343</td><td class="data field-name">434</td>
    6.        </tr>
    Как это сделать?
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    по твоему коду я вижу, что ты слабенько понимаешь, что делаешь.
    учись...
    я тебе на твой вопрос выделил ответ. Клацни мышкой на explode в коде и почитай как он работает.
    А еще обрати внимание на то, что ты создаешь массив с одним элементом и перебираешь его.
    --- Добавлено ---
    в место этого:
    вот это:
    PHP:
    1. $a = explode(', ', $array);
     
  5. acso

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

    С нами с:
    15 апр 2010
    Сообщения:
    150
    Симпатии:
    25
    Адрес:
    Одесса
    Как сказал TeslaFeo, вначале нужно разбить строку на массив через $a = explode(', ', $array), а затем пройтись по каждому элементу массива $a и разбивать их уже через explode(':', ...). Подсказываю:
    PHP:
    1. $array = 'r4re:rere, 343:434';
    2. $a = explode(', ', $array);
    3. foreach ($a as $tr) {
    4.   $td = explode(':', $tr);
    5.   //$td[0] - то, что до двоеточия, $td[1] - после двоеточия
    6. }