Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш