⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել