Reja: Funksiyalar



Download 55,87 Kb.
bet3/6
Sana16.02.2023
Hajmi55,87 Kb.
#911923
1   2   3   4   5   6
Bog'liq
Maruza — копия (12)

func_num_args() funksiyasi argumentlar sonini kaytaradi. Bu funksiya fakat foydalanuvchi funksiyasini aniklash mobaynida foydalanishi mumkin. Agar u funksiyadan tashkarida paydo bulsa, interpretator ogoxlantirish beradi.
Misol. func_num_args() funksiyasidan foydalanish
function DataCheck() {
$n = func_num_args();
echo "Funksiya argumentlari soni $n";
}
DataCheck();
// katorni keltiradi "0 funksiya argumentlari soni"
DataCheck(1,2,3);
// katorni keltiradi "3-funksiya argumentlari soni" ?>
func_get_arg funksiyasi (argument_rakami tulaligicha) argumentni uzgarishlar ruyxatidan argumentlar funksiyasiga kaytaradi, uning tartib rakami func_get_arg parametri bilan beriladi. Funksiya argumentlari noldan boshlab xisoblanadi. func_num_args() kabi bu funksiya fakat biron-bir funksiyani aniklashda foydalaniladi.
Argument rakami funksiyaga uzgargan argumentlar sonidan ortib ketishi mumkin emas. Aks xolda ogoxlantirish umumlashtiriladi va func_num_args() funksiyasiga Faise kiymat kaytadi.
Ma’lumotlarni tekshirish uchun funksiyaga uning argumentlarini tuzamiz. Agar funksiyaning birinchi argumentы - butun son, ikkinchisi - kator bulsa, tekshirish muvaffakiyatli utdi, deb xisoblaymiz.
Misol. Ma’lumotlar tipini, uning argumentlarini tekshirish
function DataCheck(){
$check =true;
$n = func_num_args();
/* funksiyaga uzgargan argumentlar sonini tekshiramiz, birinchi uzgargan argument butun sonmi-yukmi */
if ($n>=1) if (!is_int(func_get_arg(0)))
$check = faise;
/* tekshiramiz, ikkinchi uzgargan argument katormi-yukmi */
if ($n>=2)
if (!is_string(func_get_arg(1)))
$check = false;
return $check;
}
if (DataCheck(123,"text"))
echo "Tekshiruv tugri utdi<Ьg>";
else echo "ma’lumotlar shartlarni tsondirmaydi
";
if (DataCheck(324))
echo "Tekshiruv tugri utdi<Ьg>";
else echo "ma’lumotlar shartlarni tsondirmaydi
";
?>

func_get_args() funtsiyasi argumentlar ruyxatidan tashkil topgan massiv tsaytaradi. Massivning x,ar bir elementi argumentga, funksiya uzgarishiga tuFri keladi. Agar funksiya foydalanuvchi funksiyasi anitsligidan tashtsarida foydalanilsa ogo^lantirish umumlashtiriladi.


Avvalgi misolni kuchiramiz, bu funksiyadan foydalanamiz. Funksiyani x,arakatlantiruvchi juft argument butun son ekanligini tekshiramiz:
Misol:
function DataCheck(){
$check =true;
$n = func_num_args();
// funksiyaga uzgargan argumentlar soni
$args = func_get_args();
// funksiya argumentlari massivi
for ($i=0;$i<$n;$i++){
$v = $args[$i];
if ($i % 2 == 0){
if (!is_int($v)) $check = false;
// tekshiramiz, juft argument butunmi-yutsmi
}
}
return $check;
}
if (DataCheck(array("text", 324)))
echo "Tekshiruv tugri utdi<Ьg>";
else echo "Ma’lumotlar shartlarni tsonitstirmaydi
"; ?>
Bundan, func_num_args(), func_get_arg() va func_get_args() funksiya kombinatsiyasi funksiyalar uzgaruvchan argumentlar ruyxatiga ega bula olishi uchun foydalaniladi. Bu funksiyalar fatsat PHP4 ga kiritilgan. PHP3 da shunday natijaga erishish uchun, argument sifatida massiv funksiyasidan foydalanish mumkin buladi. Masalan, x,ar bir tots funksiyalar parametri butun sonligini tekshiruvchi skriptni tsuyidagicha yozish mumkin: function DataCheck($params){ $check =true;
$n = count($params);
// funksiyaga uzgargan argumentlar soni
for ($i=0;$i<$n;$i++){
$v = $params[$i];
if ($i % 2 !== 0){
// tekshiramiz, tok argument butunmi-yukmi
if (!is_int($v)) $check = false;
}
}
return $check;
}
if (DataCheck("text", 324))
echo "Tekshiruv tuFri utdi<Ьg>";
else echo "Ma’lumotlar shartlarni koniktirmaydi<Ьg>";
?>
Funksiyalar ichida uzgaruvchilardan foydalanish
Global uzgaruvchilar
Funksiyalar ichida undan tashkarida berilgan uzgaruvchilardan foydalanish uchun, bu uzgaruvchilarni global deb e’lon kilish kerak. Buning uchun funksiya tanasida uning nomlarini global kalit suzidan keyin keltirish lozim buladi:
global $var1, $var2;
$a=1;
function Test_g(){
global $a;
$a = $a*2;
echo ' $a=',$a funksiya ishida natija;
}
echo 'funksiyadan tashkarida $a=',$a,', ';
Test_g();
echo "
";
echo funksiyadan tashkarida $a=',$a,', ';
Test_g();
?>

Download 55,87 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish