⊗ppSpOtAC 83 of 83 menu

Оптимизација претварања у низ у PHP

Није увек потребно разбијати стринг у низ да би се нешто урадило са њим.

Хајде да погледамо пример. У следећем примеру аутор кода проверава, да ли у стрингу постоји цифра 3:

<?php $str = '12345'; $arr = explode('', $str); // разбијамо у низ if (in_array(3, $arr)) { echo 'постоји'; } else { echo 'не постоји'; } ?>

Аутор је одличан - користи уграђене функције PHP, уместо да пише своје импровизоване решења.

Али код ипак није оптималан: овде нема потребе да се стринг разбија у низ, јер постоји готовa функцијa strpos, која врши претрагу по стрингу:

<?php $str = '12345'; if (strpos($str, '3') !== false) { echo 'постоји'; } else { echo 'не постоји'; } ?>

Зашто је разбијање у низ овде лоше? Зато што се, прво, на разбијање у низ троше ресурси процесора, друго, добијени низ ће заузимати простор у оперативној меморији (притом тај простор ће бити већи него простор који заузима сам стринг).

Поука: не разбијајте стринг у низ, ако постоји начин да то не урадите.

У следећем коду неки програмер окреће симболе стринга у обрнутом редоследу. Оптимизујте решење овог програмера:

<?php $str = '12345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // исписаће '54321' ?>

У следећем коду неки тражи број речи у тексту. Оптимизујте решење овог програмера:

<?php $str = 'aaa bbb ccc'; // неки дугачак стринг echo count(explode(' ', $str)); ?>
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј