⊗ppSpOtAC 83 of 83 menu

Optimizacija pretvorbe v matriko v PHP

Ni vedno potrebno razbiti niz v matriko, da bi nekaj naredili z njim.

Poglejmo si primer. V naslednjem primeru avtor kode preverja, ali v nizu obstaja številka 3:

<?php $str = '12345'; $arr = explode('', $str); // razbijemo v matriko if (in_array(3, $arr)) { echo 'obstaja'; } else { echo 'ne'; } ?>

Avtor je odličen - uporablja vgrajene funkcije PHP, namesto da bi pisal svoje rešitve.

Vendar koda še vedno ni optimalna: tukaj ni potrebe po razbijanju niza v matriko, saj obstaja vnaprej pripravljena funkcija strpos, ki izvaja iskanje po nizu:

<?php $str = '12345'; if (strpos(str, 3) !== false) { echo 'obstaja'; } else { echo 'ne'; } ?>

Zakaj je razbijanje v matriko tukaj slabo? Ker se, prvič, za razbijanje v matriko porabijo viri procesorja, drugič, bo nastala matrika zasedala prostor v operativnem spominu (in to več prostora, kot ga zaseda sam niz).

Naulek: ne razbijajte niza v matriko, če obstaja način, da tega ne storite.

V naslednji kodi neki programer obrne simbole niza v vrstnem redu. Optimizirajte rešitev tega programerja:

<?php $str = '123345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // izpiše '54321' ?>

V naslednji kodi neki programer išče število besed v besedilu. Optimizirajte rešitev tega programerja:

<?php $str = 'aaa bbb ccc'; // nek dolg niz echo count(explode(' ', $str)); ?>
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni