PHP statinis teiginys
Statinio PHP teiginio stebuklingumas yra tas, kad jis leidžia funkcijai „atsiminti“ vietinio kintamojo reikšmę kitą kartą, kai šaukiama funkcija.

Šiame vadove sužinosite, kaip naudoti PHP statinį teiginį, kad PHP funkcija suteiktų „atmintį“. Pagrindinė PHP funkcija neturi galimybės atsiminti vietinio kintamojo, kuris buvo sukurtas ar pakeistas funkcijos metu, vertės. Baigę funkciją, dings visos žinios apie funkcijos kintamojo vertę. Norėdami išspręsti šią problemą, galime naudoti statinį PHP teiginį, kad nurodytume funkcijai atsiminti vietinio kintamojo vertę nuo vieno funkcijos skambučio iki kito skambučio. Pažvelkime į pagrindinį kodą.

funkcijos skambučių skambučiai ()
{
statinis $ no_calls = 0;
$ no_calls ++;
echo "Ši funkcija buvo vadinama $ no_calls times.";
}


funkcija function_name ()
funkcijos skambučių skambučiai ()
Čia nėra nieko naujo. Kaip ir ankstesniuose vadovėliuose, funkcijos pavadinimas identifikuoja šią funkciją, o funkcijos instrukcijos pateikiamos tarp šių {ir}.

statinis $ kintamasis = reikšmė;
statinis $ no_calls = 0;
Tai yra statinis teiginys, naudojamas išlaikyti veikiantį skaičių (ir atsiminti), kiek kartų ši funkcija buvo iškviesta. Pirmą kartą iškviečiant funkciją, statinis teiginys inicijuoja kintamąjį $ no_calls iki pradinės vertės 0. Tada, tęsiant funkciją, kintamojo vertė padidinama 1-ą. padidinta kintamojo vertė atsimenama iš paskutinio karto. Tai gali neatrodyti kaip stebuklinga, kol nesuvoksite, kad be statinio teiginio kintamojo vertė bus lygi nuliui kiekvieną kartą, kai bus vadinama šia funkcija.

$ kintamasis ++;
$ no_calls ++;
Ši išraiška padidina dabartinę kintamojo $ no_calls vertę 1. Statinio teiginio magija yra ta, kad funkcija dabar gali „atsiminti“ padidėjusią kintamojo $ no_calls vertę kitam kartui, kai bus iškviečiama funkcija.

aido teiginys
echo "Ši funkcija buvo vadinama $ no_calls times.";
Šis aido teiginys atspausdins žiniatinklio naršyklėje tekstą ir naują (padidintą) kintamojo $ no_calls vertę.

Tai viskas, kas reikalinga mūsų funkcijai. Kitą kartą vadinant šią funkciją, kintamojo $ no_calls vertė įsimenama iš paskutinio funkcijos vykdymo ir vėl padidinama dar viena.





Vaizdo Instrukcijos: PHP for Web Development (Balandis 2024).