За последние 24 часа нас посетил 17061 программист и 1652 робота. Сейчас ищут 889 программистов ...

как сделать перебор

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 6 окт 2011.

  1. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    пусть есть предложение {val1|val2} {action1|action2} ..... {xxx1|xxx2|xxx3}
    как теперь это дело перебрать и сгенерить предложение val1 action2 xxx2?
    с учетом что кусков {} может быть сколько угодно
     
  2. topy

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

    С нами с:
    16 сен 2011
    Сообщения:
    19
    Симпатии:
    0
    Если надо перебрать все возможные варианты, то, думаю, вложенными циклами.
     
  3. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    заранее же неизвестно сколько будет кусков {}
     
  4. crautcher

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

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    разбей предложение по {%} в массив
     
  5. Rockman

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

    С нами с:
    18 ноя 2010
    Сообщения:
    53
    Симпатии:
    0
    Адрес:
    Россия
    Можно разбить, как уже сказали, в массив, либо поработав со строкой посчитать сколько пар {} встречается.
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    PHP:
    1. <pre><?php
    2. $str = '{xxx1|xxx2} {yyy1|yyy2} {zzz1|zzz2|zzz3}';
    3. preg_match_all('/\{(.*?)\}/', $str, $matches);
    4. $rows = array();
    5. foreach($matches[1] as $match)
    6.     $rows[] = explode('|', $match);
    7. print_r($rows);
    8. ?></pre>
    Дальше сам сможешь?