Всем привет! Я новичок в PHP и занимаюсь тем, что ломаю себе голову простыми задачками.
Вот одна из них:
Имеется массив $array = array('Иванов' => 15, 'Петорв' => 40, 'Сидоров' => 50, 'Пупкин' =>
18, 'Попов' => 51, 'Орлов' => 38, 'Карпов' => 35);
Необходимо сделать сортировку по значениям и вывести ключи в список:
Возрастная группа до 20: Иванов Пупкин
Возрастная группа до 45: Петорв Орлов Карпов
Возрастная группа от 50: Сидоров Попов
Решил задачу так:
PHP:
скопировать код в буфер обмена
$array = array('Иванов' => 15, 'Петорв' => 40, 'Сидоров' => 50, 'Пупкин' => 18, 'Попов' => 51, 'Орлов' => 38, 'Карпов' => 35); foreach($array as $keyAge => $valAge){ if ($valAge <= 20) { $age[0][$keyAge] = $valAge; } elseif ($valAge > 20 and $valAge < 45) { $age[1][$keyAge] = $valAge; } else $age[2][$keyAge] = $valAge; } function age20() { global $age; foreach ($age[0] as $key => $value) { echo $key."\n"; } } function age45() { global $age; foreach ($age[1] as $key => $value) { echo $key."\n"; } } function age50() { global $age; foreach ($age[2] as $key => $value) { echo $key."\n"; } } echo "Возрастная группа до 20: ",age20(); echo "<br>Возрастная группа до 45: ",age45(); echo "<br>Возрастная группа от 50: ",age50();
Вопрос.
Возможно ли написать менее грамоздкий код без применения такого количества функций?
Если да, то могли бы вы привести пример?
(Добавление)
Пардон. Ошибся темой.(Отредактировано автором: 05 Февраля, 2015 - 19:43:50)
|