Слайд 1Мавзу. Функциялар. Класслар ва объектлар. Хатоликлар билан ишлаш. PHP-функциялар
Режа:
1. Функциялар.
2.
Функцияларнинг аргументлари
3. Ўзгарувчан узунлик аргументлари рўйхатлари
4. Функциялар ичида ўзгарувчилардан фойдаланиш
5. Функциянинг ўзгарувчилари
6. Ички жойлашган (ичма-ич) функциялар
7. Синфлар ва объектлар
8. Ўзгарувчиларни инициаллаштириш
9. Объектлар
Слайд 2Функция синтаксиси
function Функция_номи (1-параметр, 2-параметр, ... N-параметр) {
Амаллар блоки
return "функцияга айланувчи маъно";
}
Слайд 3Функциялар
Натурал сон факториалини ҳисоблаш функцияси
= $n * fact($n-1);
}
echo fact(3);
// echo (3*2) деб ёзиш мумкин эди; лекин сон катта бўлса,
echo fact(50);
// функциядан фойдаланиш қулайроқ,
// echo (50*49*48*...*3*2) деб ёзгандан;
?>
Слайд 4Функцияларнинг аргументлари
Аргументлар ёрдамида маълумот-лар функцияга уч хил усуллар билан ўтказилиши
мумкин:
аргументларни маъносига кўра
(ўзгармас ҳолатда фойдаланилади);
иловаларга кўра;
ўзгармас ҳолатда.
Слайд 6Мисол. Тинч ҳолатдаги аргумент маъноси
айни пайтда “Таш.қўмита” маъносига эга
echo "Кейинги йиғилиш эртага бўлиб ўтади.
";
echo "$sign
";
}
Message();
// Параметрсиз функцияни чақирамиз. Бу ҳолда имзо – Бу Ташкилий қўмита
Message("Ҳурмат билан Камолиддин");
// Бу ҳолда имзо "Ҳурмат билан Камолиддин." бўлади
?>
Бу скрипт ишининг натижаси қуйидагича:
Кейинги йиғилиш эртага бўлиб ўтади.
Ташкилий қўмита.
Кейинги йиғилиш эртага бўлиб ўтади.
Ҳурмат билан Камолиддин.
$title,";
echo "муаллиф $author";
echo "
Қисқа тавсиф: ";
echo "$description
";
}
Add_article("Информатика ва биз","Бу мақола информатикага оид ...","Зайниддин Саидов");
Add_article("Характерлар ким","Бу мақола характерлар ҳақида ...");
?>
Мисол. Ўзгармас ҳолда аргументни ўтказиш
Слайд 8Ўзгарувчан узунлик аргументлари рўйхатлари
аргументлари сони $n";
}
DataCheck();
// қаторни келтиради "0 функция аргументлари сони"
DataCheck(1,2,3);
//қаторни келтиради "3-функция аргументлари сони"
?>
Слайд 9Функциялар ичида ўзгарувчилардан фойдаланиш
1. Глобал ўзгарувчилар
2. Статистик ўзгарувчилар
3. Қайтарилувчан маънолар
4.
Ҳаволани қайтариш
Слайд 10Глобал ўзгарувчилар
$a=',$a функция ишида натижа;
}
echo 'функциядан ташқарида $a=',$a,', ';
Test_g();
echo "
";
echo функциядан ташқарида $a=',$a,', ';
Test_g();
?>
Слайд 11Статистик ўзгарувчилар
ўзлаштириб бўлмайди
$a = $a*2;
echo $a;
}
Test_s(); // 2 чиқади
echo $a;
// ҳеч нарса чиқмайди, зеро $a фақат функция ичида
// кириш йўлаги бор
Test_s(); // $a=2 функция ичида, шунинг учун функция
// иши натижаси 4 сони бўлади
?>
Слайд 12Қайтарилувчан маънолар
date("Y");
$m = intval(date("m"));
$d = intval(date("d"));
$b_month = intval($b_month);
$b_day = intval($b_day);
$b_year = intval($b_year);
$day = ($b_day > $d ? 30 - $b_day + $d : $d - $b_day);
$tmpMonth = ($b_day > $d ? -1 : 0);
$month = ($b_month > $m + $tmpMonth
? $b_month + $tmpMonth - $m : $m+$tmpMonth - $b_month);
$tmpYear = ($b_month > $m + $tmpMonth ? -1 : 0);
if ($b_year > $y + $tmpYear)
{
$year = 0; $month = 0; $day = 0;
}
else
{
$year = $y + $tmpYear - $b_year;
}
return array ($day,$month,$year);
}
$age = Full_age("29","06","1986");
echo "Сизни ёшингиз $age[2] ёш, $age[1] ой ва $age[0] кун";
?>
Слайд 13Ҳаволани қайтариш
$b;
if ($par % 2 == 0) return $b;
else return $a;
}
$var =& ref(4);
echo $var, " и ", $b, "
"; // 2 ва 2 келтирилади
$b = 10;
echo $var, " и ", $b, "
"; // 10 ва10 келтирилади
?>
Слайд 14Функциянинг ўзгарувчилари
қўшади ва Show_text –матн қаторини чиқариб беради*/
function Add_sign($string,
$sign="Ҳурмат билан, Мурод") {
echo $string ." ".$sign;
}
function Show_text() {
echo "Хабарни почтадан жўнатиш
";
}
$func = "Show_text";
// маънога эга ўзгарувчи тузамиз, у функция номига тенг Show_text
$func();
// у Show_text функцияни чақиради
$func = "Add_sign";
// маънога эга ўзгарувчи тузамиз, у функция номига тенг Add_sign
$func("Ҳаммага салом
");
// бу функцияни чақиради Add_sign "Ҳаммага салом" параметрли
?>