⊗ppSpOtAC 83 of 83 menu

Optimering af konvertering til array i PHP

Det er ikke altid nødvendigt at opdele en streng i et array for at gøre noget ved den.

Lad os se på et eksempel. I det følgende eksempel tjekker kodeforfatteren, om strengen indeholder cifret 3:

<?php $str = '12345'; $arr = explode('', $str); // opdel i et array if (in_array(3, $arr)) { echo 'til stede'; } else { echo 'ikke til stede'; } ?>

Forfatteren gør det godt - bruger PHPs indbyggede funktioner i stedet for at skrive deres egne løsninger.

Men koden er ikke optimal: der er ingen grund til at opdele strengen i et array, for der findes en færdig funktion strpos, der udfører søgning i en streng:

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

Hvorfor er det dårligt at opdele i et array her? Fordi det for det første bruger processorkraft på at opdele i et array, for det andet vil det resulterende array optage plads i RAM (og det vil være mere plads, end strengen selv gør).

Moral: Opdel ikke en streng i et array, hvis der er en måde at undgå det på.

I den følgende kode vender en programmør strengens tegn baglæns. Optimér denne programmørs løsning:

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

I den følgende kode søger en programmør antallet af ord i en tekst. Optimér denne programmørs løsning:

<?php $str = 'aaa bbb ccc'; // en lang streng echo count(explode(' ', $str)); ?>
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis