X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вывод данных за пределы цикла. Как реализовать?
Garikzzz
Garikzzz
Topic Starter сообщение 30.10.2010, 13:14; Ответить: Garikzzz
Сообщение #1


Здравствуйте.
Есть скрипт который содержит следующий цикл
[PHP]
<?php for ($j=0; $j < count($marriage_records); $j++) {
if ($marriage_records[$j]["sex"] > 0) {
if ($marriage_records[$j]["sex"] == 1)
$sex_str = "<a class=\"marriedsexm\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["id"]."&session=".$session."\">".$marriage_records[$j]["nick"]."</a>";
else
$sex_str = "<a class=\"marriedsexf\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["id"]."&session=".$session."\">".$marriage_records[$j]["nick"]."</a>";
}
else
$sex_str = "<a class=\"marriedsexn\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["id"]."&session=".$session."\">".$marriage_records[$j]["nick"]."</a>";
if ($marriage_records[$j]["m_sex"] > 0) {
if ($marriage_records[$j]["m_sex"] == 1)
$m_sex_str = "<a class=\"marriedsexm\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["m_id"]."&session=".$session."\">".$marriage_records[$j]["married_with"]."</a>";
else
$m_sex_str = "<a class=\"marriedsexf\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["m_id"]."&session=".$session."\">".$marriage_records[$j]["married_with"]."</a>";
}
else
$m_sex_str = "<a class=\"marriedsexn\" href=\"fullinfo.php?user_id=".$marriage_records[$j]["m_id"]."&session=".$session."\">".$marriage_records[$j]["married_with"]."</a>";
echo "<tr><td class=\"marriedcell\">".($j+1)."</td><td class=\"ratingcell\">".$sex_str." и ".$m_sex_str."</td></tr>";
}?>
[/PHP]
Как видно данные из цикла выводятся в теле самого цикла при помощи
[PHP]echo "<tr><td class=\"marriedcell\">".($j+1)."</td><td class=\"ratingcell\">".$sex_str." и ".$m_sex_str."</td></tr>"; [/PHP]
Интересует вопрос как записать результат обработки всех итераций цикла в переменную, чтобы можно было выводить данные обработки цикла, за пределами самого цикла, а не при помощи echo в самом цикле?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 30.10.2010, 13:24; Ответить: alexdrob
Сообщение #2


Да разные есть способы.

Например можно поставить вначале
[PHP]ob_start();[/PHP]
а после цикла получить в переменную всё что должно было вывестись на экран
[PHP]$text = ob_get_contents();[/PHP]
и очистить содержимое буфера
[PHP]ob_end_clean();[/PHP]
Вы получите переменную text содержащую всё что должно было вывестись.

а можно в начале обнулить переменную
[PHP]$text='';[/PHP]
а echo заменить на
[PHP]$text .= "<tr><td class=\"marriedcell\">".($j+1)."</td><td class=\"ratingcell\">".$sex_str." и ".$m_sex_str."</td></tr>";[/PHP]
опять же вы получите переменную text


А можно всё это в массив пихать
[PHP]$texts[] = "<tr><td class=\"marriedcell\">".($j+1)."</td><td class=\"ratingcell\">".$sex_str." и ".$m_sex_str."</td></tr>";[/PHP]

в конце вы получите массив texts в каждой строке будет 1 строка вашего вывода

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1117 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2285 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3912 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3636 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1929 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 28.3.2024, 18:12
Дизайн