PHP funksiyalar
PHP o‘rnatilgan funksiyalari
PHP-da 1000 dan ortiq o‘rnatilgan funksiyalar mavjud bo‘lib, ularni to‘g‘ridan-to‘g‘ri skript ichidan ma’lum bir vazifani bajarish uchun chaqirish mumkin. Iltimos, to‘liq ma’lumot uchun PHP ma’lumotnomamizni ko‘rib chiqing.
PHP foydalanuvchi tomonidan belgilangan funksiyalar
O‘rnatilgan PHP funksiyalaridan tashqari, o‘zingizning funksiyalaringizni yaratishingiz mumkin.
- Funksiya - bu dasturda qayta-qayta ishlatilishi mumkin bo‘lgan operatorlar blokidir.
- Sahifa yuklanganda funksiya avtomatik ravishda bajarilmaydi.
- Funksiya faqat chaqirilganda bajariladi.
Funksiya yarating
Foydalanuvchi tomonidan aniqlangan funksiya deklaratsiyasi
function kalit so‘zi bilan boshlanadi, undan so‘ng uning nomi keladi.
funksiyasi.
Ochuvchi jingalak qavs { funksiya kodining boshlanishini, yopuvchi jingalak qavs } esa funksiyaning tugashini bildiradi.
Eslatma: Funksiya nomi katta-kichik harflarga sezgir emas va u harf yoki pastki chiziq bilan boshlanishi kerak.
Sintaksis
function functionName($parameter1, $parameter2) {
// code to be executed
return $value; // optional
}
Quyidagi misol myMessage() nomli funksiyani yaratadi:
Misol
function myMessage() {
echo "Hello world!";
}
Maslahat: Funksiya nima qilayotganini aks ettiruvchi nom bering!
Funksiyani chaqirish
Funksiyani chaqirish uchun uning nomidan keyin qavs () qo‘yib yozing.
Quyidagi funksiya "Salom dunyo!"ni chiqaradi:
Misol
myMessage() funksiyasini chaqiring
function myMessage() {
echo "Hello world!";
}
myMessage();
O‘zingiz sinab ko‘ring »
PHP funksiya parametrlari
Parametrlar orqali funksiyalarga ma’lumotlar uzatilishi mumkin. Parametr xuddi o‘zgaruvchiga o‘xshaydi.
Parametrlar funksiya nomidan keyin qavslar ichida ko‘rsatiladi. Siz xohlagancha ko‘p parametrlarni qo‘shishingiz mumkin, ularni vergul bilan ajratish kifoya.
Quyidagi misolda bitta parametrli ($fname) funksiya mavjud. familyName() funksiyasi chaqirilganda, biz nom bilan birga o‘tamiz, masalan. ("Jani") va nom bir nechta turli ismlarni chiqaradigan funksiya ichida ishlatiladi, lekin teng familiya:
Misol
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
O‘zingiz sinab ko‘ring »
Quyidagi misolda ikkita parametrli funksiya mavjud ($fname, $year):
Misol
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year.<br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
O‘zingiz sinab ko‘ring »
PHP standart parametr qiymati
Quyidagi misol standart parametrdan qanday foydalanishni ko‘rsatadi.
Agar biz setHeight() funksiyasini parametrsiz chaqirsak, u standart qiymatni oladi:
Misol
function setHeight($height = 50) {
echo "The height is : $height <br>";
}
setHeight(350);
setHeight(); // will take the default value of 50
O‘zingiz sinab ko‘ring »
PHP funksiyalari - qiymatlarni qaytarish
return operatori funksiya bajarilishini darhol tugatadi va qiymatni uni chaqirgan kod satriga qaytaradi:
Misol
function sum($x, $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
O‘zingiz sinab ko‘ring »
Argumentlarni havola bo‘yicha uzatish
Argumentlar odatda qiymat bo‘yicha uzatiladi, ya’ni funksiyada qiymatning nusxasi ishlatiladi va funksiyaga o‘tkazilgan o‘zgaruvchini o‘zgartirib bo‘lmaydi.
Funksiya argumenti havola orqali uzatilsa, argumentga kiritilgan o‘zgartirishlar kiritilgan o‘zgaruvchini ham o‘zgartiradi. Funksiya argumentini havolaga aylantirish uchun argument/parametr oldidagi & operatoridan foydalaning:
Misol
O‘zgaruvchini yangilash uchun o‘tish argumentidan foydalaning:
function add_five(&$value) {
$value += 5;
}
$num = 2;
add_five($num);
echo $num;
O‘zingiz sinab ko‘ring »
Parametrlarning o‘zgaruvchan soni
Funksiya parametri oldidagi ... operatoridan foydalanib, funksiya noma’lum sonli parametrlarni qabul qiladi. Buni variadik funksiya ham deyiladi.
Variadik funksiya argumenti massivga aylanadi.
Misol
Qancha argument olishini bilmagan funksiya:
function sumMyNumbers(...$x) {
$n = 0;
$len = count($x);
for($i = 0; $i < $len; $i++) {
$n += $x[$i];
}
return $n;
}
$a = sumMyNumbers(5, 2, 6, 2, 7, 7);
echo $a;
O‘zingiz sinab ko‘ring »
O‘zgaruvchan uzunlikdagi faqat bitta argumentga ega bo‘lishingiz mumkin va u oxirgi argument bo‘lishi kerak.
Misol
Variadik argument oxirgi argument bo‘lishi kerak:
function myFamily($lastname, ...$firstname) {
$txt = "";
$len = count($firstname);
for($i = 0; $i < $len; $i++) {
$txt = $txt."Hi, $firstname[$i] $lastname.<br>";
}
return $txt;
}
$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;
O‘zingiz sinab ko‘ring »
Agar variadik argument oxirgi argument bo‘lmasa, siz xatoga yo‘l qo‘yasiz.
Misol
Ikki argumentning birinchisida ... operatoriga ega bo‘lish xatolikni keltirib chiqaradi:
function myFamily(...$firstname, $lastname) {
$txt = "";
$len = count($firstname);
for($i = 0; $i < $len; $i++) {
$txt = $txt."Hi, $firstname[$i] $lastname.<br>";
}
return $txt;
}
$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;
O‘zingiz sinab ko‘ring »
PHP - bu erkin yozilgan til
Yuqoridagi misollarda e’tibor bering, biz PHP ga o‘zgaruvchining qaysi ma’lumotlar turi ekanligini aytishimiz shart emas edi.
PHP avtomatik ravishda ma’lumotlar turini o‘zgaruvchiga uning qiymatiga qarab bog‘laydi. Ma’lumotlar turlari qat’iy belgilanmaganligi sababli, siz xatoga yo‘l qo‘ymasdan butun songa string qo‘shish kabi amallarni bajarishingiz mumkin.
PHP 7 dan turdagi deklaratsiyalar qo‘shildi. Bu bizga belgilash imkoniyatini beradi
funksiyani e’lon qilishda kutilgan ma’lumotlar turi va strict qo‘shish orqali
deklaratsiya, u "O‘limga olib keladi
Agar ma’lumotlar turi mos kelmasa, xato".
Qattiq rejimni belgilash uchun declare( ni belgilashimiz kerak. Bu PHP faylining birinchi qatorida bo‘lishi kerak.strict_types=1);
Quyidagi misolda biz raqamni ham, stringni ham yuboramiz
funksiya, lekin bu yerda biz strict qo‘shdik
deklaratsiya:
Misol
<?php declare(strict_types=1); // strict requirement
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// since "5 days" is not an integer, an error will be thrown
?>
O‘zingiz sinab ko‘ring »
strict deklaratsiyasi narsalarni mo‘ljallangan tarzda ishlatishga majbur qiladi.
PHP Qaytish turi deklaratsiyasi
PHP
return uchun turdagi deklaratsiyalarni ham qo‘llab-quvvatlaydi
operator.
Qaytish funksiyasi uchun ma’lumotlar turini e’lon qilish uchun ikki nuqta qo‘shing (
: ) va ochiladigan jingalakdan oldingi ma’lumotlar turi
Funksiyani e’lon qilishda ( { ) qavs.
Quyidagi misolda biz funksiya uchun qaytish turini (float) belgilaymiz:
Misol
<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
O‘zingiz sinab ko‘ring »
Bundan tashqari, argument turlaridan farqli qaytish turini ham belgilashingiz mumkin, lekin qaytarish to‘g‘ri turdagi ekanligiga ishonch hosil qiling:
Misol
<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
