⊗ppSpOtAC 83 of 83 menu

Muunnoksen optimointi taulukoksi PHP:ssä

Ei aina tarvitse pilkkoa merkkijonoa taulukoksi tehdäkseen jotain sen kanssa.

Katsotaanpa esimerkkiä. Seuraavassa esimerkissä koodin kirjoittaja tarkistaa, onko merkkijonossa numero 3:

<?php $str = '12345'; $arr = explode('', $str); // pilkotaan taulukoksi if (in_array(3, $arr)) { echo 'on'; } else { echo 'ei'; } ?>

Kirjoittaja on hieno - käyttää PHP:n sisäänrakennettuja funktioita sijaan, että kirjoittaisi omia kierteitä.

Mutta koodi ei silti ole optimaalinen: täällä ei tarvitse pilkkoa merkkijonoa taulukoksi, sillä on olemassa valmis funktio strpos, joka suorittaa haun merkkijonosta:

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

Miksi täällä pilkkominen taulukoksi on huono asia? Koska ensinnäkin, pilkkomiseen taulukoksi kuluu prosessoriresursseja, toiseksi, saatu taulukko vie tilaa keskusmuistista (muuten se on enemmän kuin tila, jota itse merkkijono vie).

Oppi: älä pilko merkkijonoa taulukoksi, jos on olemassa tapa olla tekemättä sitä.

Seuraavassa koodissa joku ohjelmoija kääntää merkkijonon merkit käänteiseen järjestykseen. Optimoi tämän ohjelmoijan ratkaisu:

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

Seuraavassa koodissa joku etsii sanojen määrää tekstistä. Optimoi tämän ohjelmoijan ratkaisu:

<?php $str = 'aaa bbb ccc'; // jokin pitkä merkkijono echo count(explode(' ', $str)); ?>
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ää