⊗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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу