⊗ppSpOtIF 77 of 83 menu

Optimointi sisäänrakennetuilla funktioilla PHP:ssä

Oletetaan, että tietty ohjelmoija tarkistaa, onko taulukossa numero 5:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 5) { $exists = true; break; // poistutaan silmukasta, jotta se ei pyöri turhaan } } var_dump($exists); ?>

Väitän, että tämän koodin kanssa on jotain vialla. Mikä siinä on huonosti, eihän me poistuta silmukasta vasta sen jälkeen, kun olemme löytäneet numeron 3? Asia on siinä, että PHP:n sisäänrakennetut funktiot toimivat aina luokkaa nopeammin kuin vastaava itse kirjoitettu koodi.

Meidän tapauksessamme on olemassa funktio in_array, joka ratkaisee asetetun tehtävän, - ja käyttää täytyy juuri tätä funktiota:

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

Opettavainen tarina: ennen tehtävän ratkaisemista muista aina tarkistaa, onko sen ratkaisemiseksi olemassa PHP:n sisäänrakennettua funktiota.

Seuraavassa koodissa tietty ohjelmoija löytää taulukon elementtien summan. Optimoi tämän ohjelmoijan ratkaisu.

Tässä koodi:

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

Seuraavassa koodissa tietty ohjelmoija löytää taulukon elementtien tulon. Optimoi tämän ohjelmoijan ratkaisu:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $res = 1; foreach ($arr as $elem) { $res *= $elem; } echo $res; ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää