⊗ppSpOtIF 77 of 83 menu

Optimalisatie via ingebouwde functies in PHP

Stel dat een programmeur controleert of er een getal 5 in een array zit:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 5) { $exists = true; break; // verlaten we de lus om extra iteraties te voorkomen } } var_dump($exists); ?>

Ik beweer dat er iets mis is met deze code. Wat is er dan mis, we breken toch uit de lus nadat we het getal 3 hebben gevonden? Het punt is, dat ingebouwde PHP-functies altijd een orde van grootte sneller werken dan vergelijkbare zelfgeschreven code.

In ons geval bestaat er een functie in_array, die de gestelde taak oplost - en we moeten precies deze functie gebruiken:

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

De moraal: controleer voordat je een taak oplost altijd of er geen ingebouwde PHP-functie is voor de oplossing ervan.

In de volgende code vindt een programmeur de som van de elementen van een array. Optimaliseer de oplossing van deze programmeur.

Hier is de code:

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

In de volgende code vindt een programmeur het product van de elementen van een array. Optimaliseer de oplossing van deze programmeur:

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