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

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

03.06.2018, 13:19. Просмотров 149. Ответов 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...]. Необходимо вывести именно за пределы цикла
http://www.cyberforum.ru/php/thread1958485.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2018, 13:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как вывести переменную из цикла? (PHP):

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

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

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

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

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

8
sasha0012
337 / 143 / 105
Регистрация: 21.06.2012
Сообщений: 658
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
1083 / 637 / 259
Регистрация: 13.06.2013
Сообщений: 2,247
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
1083 / 637 / 259
Регистрация: 13.06.2013
Сообщений: 2,247
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
1083 / 637 / 259
Регистрация: 13.06.2013
Сообщений: 2,247
03.06.2018, 14:56 #8
Цитата Сообщение от SLamare Посмотреть сообщение
Сейчас заного пишу

Не по теме:

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

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. Можно ли как то...

Переменную из цикла в js записать в переменную php
Есть цикл на JS for (glavnoe = 0;glavnoe&lt;=3;glavnoe++){ код js код php }...

Как вывести переменную из цикла for
Как правильно вывести и объявить переменну i из цикла for for(int i = 0; i...


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

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

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