⊗ppSpFnIFC 12 of 83 menu

Iebūvēto funkciju atsauces izsaukumi PHP

PHP ir vairākas iebūvētas funkcijas, kas kā parametru pieņem atsauces izsaukumus. Vispārējo darbības principu ar tām mēs izpētīsim ar funkcijas array_map piemēru. Šī funkcija kā pirmo parametru pieņem atsauces izsaukumu, bet kā otro - masīvu. Funkcija piemēro atsauces izsaukumu katram masīva elementam un atgriež modificēto masīvu.

Apskatīsim šīs funkcijas izmantošanas variantus, ņemot vērā mūsu iepriekš iegūtās zināšanas.

Variants 1

Iegūsim no katra masīva elementa kvadrātsakni, izmantojot iebūvēto funkciju sqrt. Lai to izdarītu, kā atsauces izsaukumu parametrā nodosim virkni ar šīs funkcijas nosaukumu:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

Variants 2

Kāpināsim katru masīva elementu kvadrātā, izmantojot mūsu izveidoto parasto funkciju. Lai to izdarītu, kā atsauces izsaukumu parametrā nodosim virkni ar šīs funkcijas nosaukumu:

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

Variants 3

Pārveidosim mūsu funkciju par anonīmu funkciju, ierakstītu mainīgajā:

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

Variants 4

Nodosim anonīmo funkciju kā parametru:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

Variants 5

Izmantosim bultiņu funkciju:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

Variants 6

Lai tagad pakāpe, kurā jākāpina skaitlis, tiktu norādīta ar atsauces izsaukuma ārējo mainīgo. Izmantosim šo mainīgo, iegūstot piekļuvi tam caur use:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

Variants 7

Pārrakstīsim iepriekšējo kodu, izmantojot bultiņu funkciju. Tagad mainīgais $pow būs pieejams automātiski:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($res); ?>

Praktiskie uzdevumi

Dots masīvs ar virknēm. Pārveidojiet katra elementa tekstu augšējā reģistrā.

Dots masīvs ar virknēm. Apgrieziet katra elementa tekstu otrādi, lai rakstzīmes ietu apgrieztā secībā.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt