@ne-programmist

Как сделать цикл в классе?

Есть такой код:
# БД:
# name | age |
# ------------
# John | 20  |
# Bob  | 20  |
# July | 30  |

class Filter
{
	public function age()
	{
		$users = # запрос в бд

		foreach ($users as $user)
		{
			if ($_GET['age'] == 20)
			{
				return $user->name;
			}
			elseif ($_GET['age'] == 30)
			{
				return $user->name;
			}
		}
	}
}

echo Filter::age($user->name);


Результат:
John
А нужно:
John, Bob

Как сделать?
  • Вопрос задан
  • 648 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BATPYIIIKOB
PHP, JS
Вообще, правильно - это сделать 2 запроса на выборку из БД и не городить огород

return $user->name;
возвращает одно значение. У пользователя не может 2 имени. В данном случае вы прерываете выполнения цикла (выходом из функции) при соблюдении условия.
Если необходимо не прерывать цикл а собрать все значения по условию, добавляете в новый массив необходимые значения (имена), и только в конце return

Массив:
$user_age = [
   ["20"] => ["Иван","Света"],
   ["30"] => ["Катя"]   
]
Ответ написан
Ваш ответ на вопрос

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

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