⊗ppSpOtIF 77 of 83 menu

Optimering deur ingeboude funksies in PHP

Laat 'n sekere programmeerder nagaan of die nommer 5 in die skikking is:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 5) { $exists = true; break; // sal uit die lus breek, sodat dit nie onnodig draai nie } } var_dump($exists); ?>

Ek beweer dat daar iets verkeerd is met hierdie kode. Wat is verkeerd, ons breek tog uit die lus nadat ons die nommer 3 gevind het? Die saak is, dat ingeboude PHP-funksies altyd 'n orde vinniger werk as soortgelyke selfgeskrewe kode.

In ons geval bestaan die funksie in_array wat die gestelde probleem oplos - en dit is presies hierdie funksie wat gebruik moet word:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var_dump(in_array(3, $arr)); ?>

Die moraal: voordat jy 'n probleem oplos, moet jy altyd 'n sekere programmateur nakyk of daar nie 'n ingeboude PHP-funksie is vir die oplossing daarvan nie.

In die volgende kode vind 'n sekere programmateur die som van die elemente van die skikking. Optimaliseer die oplossing van hierdie programmateur.

Hier is die kode:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $sum = 0; foreach ($arr as $elem) { $sum += $elem; } echo $sum; ?>

In die volgende kode vind 'n sekere programmateur die produk van die elemente van die skikking. Optimaliseer die oplossing van hierdie programmateur:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $res = 1; foreach ($arr as $elem) { $res *= $elem; } echo $res; ?>
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp