⊗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 'няма'; } ?>

Защо разделянето в масив е лошо тук? Защото, първо, за разделянето в масив се изразходват ресурси на процесора, второ, полученият масив ще заема място в оперативната памет (при това то ще бъде по-голямо от мястото, което заема самият низ).

Морал: не разделяйте низ в масив, ако има начин да не го правите.

В следващия код някой програмист обръща символите на низа в обратен ред. Оптимизирайте решението на този програмист:

<?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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне