Вытащить из цикла данные

Тема в разделе "PHP", создана пользователем jcrush, 19 июн 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. jcrush

    jcrush

    Регистр.:
    10 ноя 2006
    Сообщения:
    692
    Симпатии:
    55
    PHP:
    $array explode("\r\n\r\n"$han); 
    $pere count($array);
    $array2 explode("\r\n"$han2); 
    $pere2 count($array2);
    for (
    $q=0;$q<$pere;$q++){
    preg_match('#(?<=\<tema\>).*(?=\<\/tema\>)#',$array[$q],$key);
    for (
    $i=0;$i<count($key);$i++){
    $a=$key[$i];
    }    
    preg_match_all('#(?<=\<otvet\>).*(?=\<\/otvet\>)#'
    $array[$q], 
    $otvetPREG_PATTERN_ORDER);
    for (
    $i=0;$i<count($otvet);$i++){
    $b=$otvet[$i];
    }
    $r count($b);
    ///////////$a тема
    for ($a=0;$a<count($b);$a++){
    ///$b[$a] пост
    }} 
    как я понимаю формируется
    ///////////$a тема
    и пост
    ///$b[$a] пост
    и так по кругу
    а как сделать чтобы был один круг и формировалась в нем тема и посты все, а не в массиве, пробовал точку ставить $a.= но получается сразу все темы а не одна...

    Цель такая:
    получаем $a - тема и $b[$a] пост, но надо именно все посты относящиеся к этой теме, стразу получить и производим какое то действие, далее повторяем тоже самое пока не кончится цикл с темами.
     
  2. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    вопрос: что находится в стрингах $han и $han2? и в каком формате
     
  3. jcrush

    jcrush

    Регистр.:
    10 ноя 2006
    Сообщения:
    692
    Симпатии:
    55
    там сам текст
    $han = file_get_contents('pars.txt', $han);
    $han2 тоже текст с перечнем ников.
     
  4. stealtheos

    stealtheos Создатель

    Регистр.:
    28 апр 2010
    Сообщения:
    19
    Симпатии:
    1
    Первая ошибка тут
    поменяй

    PHP:
    for ($i=0;$i<count($key);$i++){ 
    $a=$key[$i]; 
    }
    на

    PHP:
    for ($i=0;$i<count($key);$i++){ 
    $a[] = $key[$i]; 
    }
    далее размышляй ... темы загоняем в массив $a

    c $b такая же история ... нужно загонять данные массив а не просто в переменную
     
  5. jcrush

    jcrush

    Регистр.:
    10 ноя 2006
    Сообщения:
    692
    Симпатии:
    55
    не совсем понял для чего это ибо цикл работает изначально, я хочу видеть примерно такое:
    PHP:
    $array explode("\r\n\r\n"$han);  
    $pere count($array); 
    $array2 explode("\r\n"$han2);  
    $pere2 count($array2); 
    for (
    $q=0;$q<$pere;$q++){ 
    preg_match('#(?<=\<tema\>).*(?=\<\/tema\>)#',$array[$q],$key); 
    for (
    $i=0;$i<count($key);$i++){ 
    $a=$key[$i]; 
    }     
    preg_match_all('#(?<=\<otvet\>).*(?=\<\/otvet\>)#',  
    $array[$q],  
    $otvetPREG_PATTERN_ORDER); 
    for (
    $i=0;$i<count($otvet);$i++){ 
    $b=$otvet[$i]; 

    $r count($b); 
    for (
    $a=0;$a<count($b);$a++){ 
    $new=$a+$b[$a];
    }}
    где $a= тема $b= ответы на эту тему, повторяем еще раз цикл получаем уже вторую тему и ответы а вторую тему.
    почему то работает с двойным циклом думаю если будет и тема и ответы в одном то должно быть правильнее..
     
  6. jcrush

    jcrush

    Регистр.:
    10 ноя 2006
    Сообщения:
    692
    Симпатии:
    55
    Будут еще идеи?
     
  7. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    а с какого перепугу с одним то циклом должно работать? маски то разные для тем и ответов. там так и должно быть два цикла. либо маску надо менять.
     
Статус темы:
Закрыта.