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

Статус
В этой теме нельзя размещать новые ответы.

jcrush

Гуру форума
Регистрация
10 Ноя 2006
Сообщения
688
Реакции
59
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], 
$otvet, PREG_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] пост, но надо именно все посты относящиеся к этой теме, стразу получить и производим какое то действие, далее повторяем тоже самое пока не кончится цикл с темами.
 
вопрос: что находится в стрингах $han и $han2? и в каком формате
 
там сам текст
$han = file_get_contents('pars.txt', $han);
$han2 тоже текст с перечнем ников.
 
Первая ошибка тут
поменяй

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 такая же история ... нужно загонять данные массив а не просто в переменную
 
не совсем понял для чего это ибо цикл работает изначально, я хочу видеть примерно такое:
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],  
$otvet, PREG_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= ответы на эту тему, повторяем еще раз цикл получаем уже вторую тему и ответы а вторую тему.
почему то работает с двойным циклом думаю если будет и тема и ответы в одном то должно быть правильнее..
 
Будут еще идеи?
 
почему то работает с двойным циклом думаю если будет и тема и ответы в одном то должно быть правильнее..

а с какого перепугу с одним то циклом должно работать? маски то разные для тем и ответов. там так и должно быть два цикла. либо маску надо менять.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху