Контрольная работа: Актуальные вопросы в работе с С++
if ($is_dead) return $is_dead-$birth;
else return date("Y")-$birth;
}
echo Age(1971, false); // выведет33
echo Age(1971, 2001); // выведет30
?>
В этом пример можно было и не использовать функцию return, а просто заменить ее функцией вывода echo. Однако если мы все же делаем так, что функция возвращает какое-то значение (в данном случае возраст человека), то в программе мы можем присвоить любой переменной значение этой функции: $my_age = Age(1981, 2004);
В результате работы функции может быть возвращено только одно значение. Несколько значений можно получить, если возвращать список значений (одномерный массив). Допустим, мы хотим получить полный возраст человека с точностью до дня.
<?php
function Full_age($b_day, $b_month, $b_year){
if (date("m")>$b_month && date("d")>$b_day)
{
$day = date ("d") - $b_day;
$month = date("m") - $b_month;
$year = date("Y") - $b_year;
} else {
$year = date("Y") - $b_year - 1;
$day = 31 - ($b_day - date ("d"));
$month = 12 - ($b_month - date("m"));
}
return array ($day,$month,$year);
}
$age = Full_age("07","08","1974");
echo "Вам$age[2] лет, $age[1] месяцев
и $age[0] дней";
// выведет "Вам 29 лет, 11 месяцев и 5 дней"
?>
Когда функция возвращает несколько значений для их обработки в программе, удобно использовать языковую конструкцию list(), которая позволяет одним действием присвоить значения сразу нескольким переменным. Например, в предыдущем примере, оставив без изменения функцию, обработать возвращаемые ей значения можно было так:
<?