⊗ppSpOtAC 83 of 83 menu

Masyvo konvertavimo optimizavimas PHP

Ne visada reikia skaidyti eilutę į masyvą, kad ką nors su ja darytume.

Pažiūrėkime pavyzdį. Šiame pavyzdyje kodo autorius tikrina, ar eilutėje yra skaitmuo 3:

<?php $str = '12345'; $arr = explode('', $str); // suskaidome į masyvą if (in_array(3, $arr)) { echo 'yra'; } else { echo 'nėra'; } ?>

Autorius šaunuolis - naudoja įmontuotas PHP funkcijas, užuot rašęs savo "lajus".

Bet kodas vis tiek neoptimalus: čia nėra reikalo skaidyti eilutę į masyvą, juk egzistuoja jau paruošta funkcija strpos, atliekanti paiešką eilutėje:

<?php $str = '12345'; if (strpos(str, 3) !== false) { echo 'yra'; } else { echo 'nėra'; } ?>

Kodėl čia skaidyti į masyvą blogai? Todėl, kad, pirma, skaidymui į masyvą sunaudojami procesoriaus resursai, antra, gautasis masyvas užims vietos operatyviojoje atmintyje (be to, ji bus daugiau, nei vietos, kurią užima pati eilutė).

Moralas: neskaidykite eilutės į masyvą, jei yra būdas to nedaryti.

Šiame kode kažkoks programuotojas apverčia eilutės simbolius atvirkštine tvarka. Optimizuokite šio programuotojo sprendimą:

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

Šiame kode kažkas ieško žodžių skaičiaus tekste. Optimizuokite šio programuotojo sprendimą:

<?php $str = 'aaa bbb ccc'; // kažkokia ilga eilutė echo count(explode(' ', $str)); ?>
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti