Задать вопрос
@truejunya

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

Есть такой код.
foreach ($tables as $key => $value) {
                if ($value['id'] == $id) {	    
				  
				$s = 2;
				    break;
		          }else
				  { 
			       $s = 0;
				  }
				  }
echo $s;

Вопрос такой как вывести 2, а не 0 если учитывать, что $s принимает значение 2 через несколько циклов
  • Вопрос задан
  • 715 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@BATPYIIIKOB
PHP, JS
$s = 0;

foreach ($tables as $value) {               
	if ($value['id'] == $id) {
		$s = 2;
	}
}
echo $s;


Да и $key в вашем случае не нужен вообще.
Опять же вопрос некорректен, как вывести 2?
echo 2;
Может вам необходимо вывести признак и прервать цикл?
Ответ выше перезапишет 2 в 1 при невыполнении условия.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
PavelMonro
@PavelMonro
Создать переменную до цикла и потом ее записывать
$s = 0;
foreach ($tables as $key => $value) {
 if () {
  $s = 2;
 } else {
  $s = 1;
 }
}
Ответ написан
Можно ещё так, элегантно и красиво)):
$s = in_array($id, array_column($tables, 'id'))
? 2
: 0;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽