PHP funksiyalar


ULASHISH

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(strict_types=1); ni belgilashimiz kerak. Bu PHP faylining birinchi qatorida bo‘lishi kerak.

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!