Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
SLamare
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 7
1

Как вывести переменную из цикла?

03.06.2018, 13:19. Просмотров 222. Ответов 8
Метки нет (Все метки)

имеется данный цикл
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  foreach ($data as $q => $a) {
   $result =   R::getAll('SELECT * FROM questions WHERE id = '.$q.' ');
   $result1 = R::getAll('SELECT * FROM answers WHERE id = '.$a.' ');
   echo '
   <div class="container wb">
   <div class="row centered">
   <div><br><br>
   ';
   echo '<h1>'. $result[0]['question'] . '</h1>';
   echo '<p> Ваш ответ: '. $result1[0]['answer'] . '</p>';
   if ($result1[0]['correct_answer'] == 1) {
     echo '<p class="success">Правильно!</p>';
     $good++;
   } else {
     echo '<p class="error">Не правильно!</p>';
     $bad++;
   }
 }
Столкнулся с проблемой вывода переменной за пределы цикла, для дальнейшей работы. Если вывожу переменную за пределы цикла, то она удаляется. Если я вывожу переменную в цикле, то получаю результат формата [1, 2, 3, 4, 5...]. Необходимо вывести именно за пределы цикла
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2018, 13:19
Ответы с готовыми решениями:

Как вывести переменную?
Всем привет! Вообщем, возникла такая проблема, есть php код, и в нём html. На...

Как вывести переменную в теге li
Всем доброго здравия. Структура html такая: &lt;ul&gt; &lt;li&gt;Вывод...

Как сохранить в переменную другую переменную + текст?
Нужно сохранить в одной переменной несколько переменных + текст, что бы потом...

Вывести переменную из другого запроса
здравствуйте, есть такой код: if ($doc==2) { $tmp = &quot;Марка&quot;; ...

Найти на странице html число в названии ссылки и вывести в переменную url
Добрый день. Есть сайт, на нем есть страница следующего содержания: &lt;a...

8
sasha0012
411 / 196 / 131
Регистрация: 21.06.2012
Сообщений: 845
03.06.2018, 13:54 2
Вам нужно выводить одну переменную или несколько? Если одну то так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$peremennaya="";
  foreach ($data as $q => $a) {
   $result =   R::getAll('SELECT * FROM questions WHERE id = '.$q.' ');
   $result1 = R::getAll('SELECT * FROM answers WHERE id = '.$a.' ');
   echo '
   <div class="container wb">
   <div class="row centered">
   <div><br><br>
   ';
   echo '<h1>'. $result[0]['question'] . '</h1>';
   echo '<p> Ваш ответ: '. $result1[0]['answer'] . '</p>';
   if ($result1[0]['correct_answer'] == 1) {
     echo '<p class="success">Правильно!</p>';
     $good++;
     $peremennaya="vot ona!!!";
   } else {
     echo '<p class="error">Не правильно!</p>';
     $bad++;
   }
 }
 
echo $peremennaya;
Если несколько, то массив формируйте:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$peremennaya=array();
  foreach ($data as $q => $a) {
   $result =   R::getAll('SELECT * FROM questions WHERE id = '.$q.' ');
   $result1 = R::getAll('SELECT * FROM answers WHERE id = '.$a.' ');
   echo '
   <div class="container wb">
   <div class="row centered">
   <div><br><br>
   ';
   echo '<h1>'. $result[0]['question'] . '</h1>';
   echo '<p> Ваш ответ: '. $result1[0]['answer'] . '</p>';
   if ($result1[0]['correct_answer'] == 1) {
     echo '<p class="success">Правильно!</p>';
     $good++;
     $peremennaya[] = "vot ona $good!!!";
   } else {
     echo '<p class="error">Не правильно!</p>';
     $bad++;
   }
 }
 
var_dump($peremennaya);
0
SLamare
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 7
03.06.2018, 13:59  [ТС] 3
вот в итоге dump

array(0) { }
0
tarasalk
1226 / 735 / 292
Регистрация: 13.06.2013
Сообщений: 2,598
03.06.2018, 14:04 4
Ну вообще то после цикла ничего не удаляется.
Вот пример. Видно что все 3 переменные существуют.
PHP
1
2
3
4
5
6
7
$arr = [1,2,3];
 
foreach ($arr as $item) {
    $param = $item;
}
 
print_r([$arr, $item, $param]);
А вы уверены что у вас цикл вообще выполняется?
В вашем примере не понятно что именно у вас не выводится, дайте пример с "удаленной" переменной и которой я могу запустить у себя.
0
SLamare
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 7
03.06.2018, 14:12  [ТС] 5
я заметил, что цикл выполняется но после цикла ничего не выполняется, так что видимо ошибка в цикле
0
tarasalk
1226 / 735 / 292
Регистрация: 13.06.2013
Сообщений: 2,598
03.06.2018, 14:23 6
А вы не гадайте, а проверяйте.
Во первых включите отображение ошибок, если вдруг выключено.
Во вторых проверяйте значение всех переменных через var_dump, может там совсем не то что вы ожидаете.

Цитата Сообщение от SLamare Посмотреть сообщение
вот в итоге dump
array(0) { }
Значит у вас это условие никогда не выполняется.
PHP
1
if ($result1[0]['correct_answer'] == 1) {}
0
SLamare
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 7
03.06.2018, 14:25  [ТС] 7
сам цикл, то работает я на тысячу раз проверил, но по неведомой причине после цикла ничего не работало. Сейчас заного пишу
0
tarasalk
1226 / 735 / 292
Регистрация: 13.06.2013
Сообщений: 2,598
03.06.2018, 14:56 8
Цитата Сообщение от SLamare Посмотреть сообщение
Сейчас заного пишу

Не по теме:

Да уж, а надо было всего то пару раз var_dump написать:). До чего новички любят усложнять:umnik:

0
SLamare
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 7
04.06.2018, 14:15  [ТС] 9
ошибка была из-за некорректного sql запроса, цикл выполнялся, а после цикла код не выполнялся... Сам цикл и код внутри цикла работал корректно
0
04.06.2018, 14:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2018, 14:15

Как записать результат цикла в переменную?
Здравствуйте, подскажите пожалуйста как записать результат цикла в переменную...

как занести результат выполнения цикла в переменную
Привет всем, когда я выбираю данные из бд я использую цикл. Цикл я всегда...

Cмарти. Как переменную из одного цикла использовать в другом?
Здравствуйте. Smarty шаблон.tpl. В шаблоне две ф-ции foreach. Можно ли как то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru