Php Funksiyalar Dərs #16

Php-nin əsl gücü onun funksiyalarından irəli gəlir.

php-də 1000-dən çox daxili funksiya var və əlavə olaraq siz öz fərdi funksiyalarınızı yarada bilərsiniz.

php-də quraşdırılmış funksiyalar
php-də 1000-dən çox daxili funksiya var ki, onları birbaşa skript daxilindən xüsusi tapşırığı yerinə yetirmək üçün çağırmaq olar.

php-nin daxili funksiyalarının tam icmalı üçün php arayışımıza baxın .

php i̇stifadəçi tərəfindən təyin olunan funksiyalar
daxili php funksiyaları ilə yanaşı, öz funksiyalarınızı da yaratmaq mümkündür.

funksiya proqramda təkrar istifadə oluna bilən ifadələr blokudur.
səhifə yükləndikdə funksiya avtomatik olaraq yerinə yetirilməyəcək.
funksiya funksiyaya zəng etməklə yerinə yetiriləcək.
php-də i̇stifadəçi tərəfindən müəyyən edilmiş funksiya yaradın
i̇stifadəçi tərəfindən müəyyən edilmiş funksiya bəyannaməsi bu sözlə başlayır function:

sintaksis
function functionname() {
code to be executed;
}
qeyd: funksiya adı hərf və ya alt xətt ilə başlamalıdır. funksiya adları hərflərə həssas deyi̇l.

i̇pucu: funksiyaya funksiyanın nə etdiyini əks etdirən ad verin!

aşağıdakı nümunədə "writemsg()" adlı funksiya yaradırıq. açılan əyri mötərizə ( { ) funksiya kodunun başlanğıcını, bağlanan əyri mötərizə ( } ) isə funksiyanın sonunu bildirir. funksiya “salam dünya!” çıxışını verir. funksiyaya zəng etmək üçün onun adını və ardınca mötərizə () yazmaq kifayətdir:

misal


<?php
function writemsg() {
echo "hello world!";
}

writemsg(); // call the function
?>


php funksiya arqumentləri
məlumat arqumentlər vasitəsilə funksiyalara ötürülə bilər. arqument eynilə dəyişən kimidir.

arqumentlər funksiya adından sonra, mötərizə içərisində göstərilir. i̇stədiyiniz qədər arqument əlavə edə bilərsiniz, sadəcə onları vergüllə ayırın.

aşağıdakı nümunədə bir arqument ($fname) olan funksiya var. familyname() funksiyası çağırıldıqda, biz də bir ad keçirik (məsələn, jani) və ad funksiya daxilində istifadə olunur ki, bu da bir neçə fərqli ad, lakin bərabər soyad verir:


<?php
function familyname($fname) {
echo "$fname refsnes.<br>";
}

familyname("jani");
familyname("hege");
familyname("stale");
familyname("kai jim");
familyname("borge");
?>


aşağıdakı nümunə iki arqumentli funksiyaya malikdir ($fname və $year):


<?php
function familyname($fname, $year) {
echo "$fname refsnes. born in $year <br>";
}

familyname("hege", "1975");
familyname("stale", "1978");
familyname("kai jim", "1983");
?>


php sərbəst tipli bir dildir
yuxarıdakı misalda diqqət yetirin ki, biz php-yə dəyişənin hansı məlumat növü olduğunu söyləmək məcburiyyətində deyilik.

php dəyərindən asılı olaraq məlumat tipini avtomatik olaraq dəyişənlə əlaqələndirir. məlumat növləri ciddi mənada təyin olunmadığından, xətaya səbəb olmadan tam ədədə sətir əlavə etmək kimi işlər görə bilərsiniz.

php 7-də tip bəyannamələri əlavə edildi. bu, bizə funksiyanı elan edərkən gözlənilən məlumat növünü təyin etmək imkanı verir və strict məlumat növü uyğun gəlmirsə, bəyannaməni əlavə etməklə o, "öldürücü xəta" atacaq.

aşağıdakı nümunədə funksiyadan istifadə etmədən həm nömrə, həm də sətir göndərməyə çalışırıq strict:


<?php
function addnumbers(int $a, int $b) {
return $a + $b;
}
echo addnumbers(5, "5 days");
// since strict is not enabled "5 days" is changed to int(5), and it will return 10
?>


müəyyən etmək üçün təyin strictetməliyik declare(strict_types=1);. bu, php faylının ilk sətirində olmalıdır.

aşağıdakı nümunədə biz funksiyaya həm nömrə, həm də sətir göndərməyə çalışırıq, lakin burada strict bəyannaməni əlavə etdik:


<?php declare(strict_types=1); // strict requirement

function addnumbers(int $a, int $b) {
return $a + $b;
}

echo addnumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error will be thrown
?>


bəyannamə strictşeylərdən nəzərdə tutulan şəkildə istifadə etməyə məcbur edir.

php defolt arqument dəyəri
aşağıdakı nümunə standart parametrdən necə istifadə olunacağını göstərir. əgər setheight() funksiyasını arqumentsiz çağırsaq, defolt dəyəri arqument kimi qəbul edir:


<?php declare(strict_types=1); // strict requirement
function setheight(int $minheight = 50) {
echo "the height is : $minheight <br>";
}

setheight(350);
setheight(); // will use the default value of 50
setheight(135);
setheight(80);
?>



php funksiyaları - dəyərlərin qaytarılması
funksiyaya dəyər qaytarmaq üçün aşağıdakı returnifadədən istifadə edin:


<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $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);
?>


php qaytarma tipi bəyannamələri
php 7 bəyanat üçün tip bəyannamələrini də dəstəkləyir return . funksiya arqumentləri üçün tip bəyannaməsində olduğu kimi, ciddi tələbi işə salmaqla, o, tip uyğunsuzluğunda "ölümcül xəta" atacaq.

qayıdış funksiyasının növünü elan etmək üçün funksiyanı elan edərkən iki nöqtə ( :) və növbəni açılan buruq ( {) mötərizəsindən düz əvvəl əlavə edin.

aşağıdakı nümunədə biz funksiya üçün qaytarma növünü təyin edirik:


<?php declare(strict_types=1); // strict requirement
function addnumbers(float $a, float $b) : float {
return $a + $b;
}
echo addnumbers(1.2, 5.2);
?>


arqument növlərindən fərqli bir qaytarma növü təyin edə bilərsiniz, lakin qaytarmanın düzgün növü olduğundan əmin olun:


<?php declare(strict_types=1); // strict requirement
function addnumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addnumbers(1.2, 5.2);
?>


arqumentlərin i̇stinad üzrə ötürülməsi
php-də arqumentlər adətən dəyərlə ötürülür, bu o deməkdir ki, funksiyada dəyərin surəti istifadə olunur və funksiyaya ötürülən dəyişən dəyişdirilə bilməz.

funksiya arqumenti istinadla ötürüldükdə, arqumentdə edilən dəyişikliklər həmçinin ötürülən dəyişəni də dəyişir. funksiya arqumentini istinada çevirmək üçün & operatordan istifadə olunur:

misal
dəyişənləri yeniləmək üçün keçid arqumentindən istifadə edin:


<?php
function add_five(&$value) {
$value += 5;
}

$num = 2;
add_five($num);
echo $num;
?>

KateqoriyaPhp proqramlaşdırma
Sualı yazanadmin
Yerləşdirildi1 il öncə

Cavabla

Göndər

Reklamlar

Saytlar.net Sayt Reklamı

Avtokat.info
Avtokat - Ən geniş Avtomobil Kataloqu


Reklam Yerləşdir
Forum Sualları

Tags