⊗ppSpOtAC 83 of 83 menu

Аптымізацыя пераўтварэння ў масіў у PHP

Не заўсёды трэба разбіваць радок у масіў, каб што-то з ёй зрабіць.

Давайце паглядзім на прыклад. У наступным прыкладзе аўтар кода правярае, ці ёсць у радку лічба 3:

<?php $str = '12345'; $arr = explode('', $str); // разбям у масіў if (in_array(3, $arr)) { echo '+++'; } else { echo '---'; } ?>

Аўтар маладзец - выкарыстоўвае ўбудаваныя функцыі PHP, замест таго, каб пісаць свае кастылі.

Але код усё роўне не аптымальны: тут няма патрэбы разбіваць радок у масіў, бо існуе гатовая функцыя strpos, якая выконвае пошук па радку:

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

Чаму тут разбіваць у масіў дрэнна? Таму што, па-першае, на разбіццё ў масіў трацяцца рэсурсы працэсара, па-другое, атрыманы масіў будзе займаць месца ў аператыўнай памяці (прычым яно будзе больш, чым месца, якое займае сам радок).

Маral: не разбівайце радок у масіў, калі ёсць спосаб не рабіць гэтага.

У наступным кодзе нейкі праграміст пераварочвае сімвалы радка ў адваротным парадку. Аптымізуйце рашэнне гэтага праграміста:

<?php $str = '123345'; $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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць