@truejunya

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

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

Вопрос такой как вывести 2, а не 0 если учитывать, что $s принимает значение 2 через несколько циклов
  • Вопрос задан
  • 572 просмотра
Решения вопроса 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы