⊗ppSpOtAC 83 of 83 menu

Dizine Dönüştürme Optimizasyonu PHP'de

Bir şeyler yapmak için bir dizeyi her zaman diziye bölmeye gerek yoktur.

Bir örneğe bakalım. Aşağıdaki örnekte, kodun yazarı dizede 3 rakamının olup olmadığını kontrol ediyor:

<?php $str = '12345'; $arr = explode('', $str); // diziye bölelim if (in_array(3, $arr)) { echo 'var'; } else { echo 'yok'; } ?>

Yazar harika - kendi çözümlerini yazmak yerine PHP'nin yerleşik işlevlerini kullanıyor.

Ancak kod yine de optimal değil: burada dizeyi bir diziye bölmeye gerek yok, çünkü dizide arama yapan hazır bir strpos işlevi var:

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

Neden burada diziye bölmek kötü? Çünkü, ilk olarak, diziye bölme işlemi işlemci kaynaklarını harcar, ikinci olarak, elde edilen dizi operatif bellekte yer kaplayacaktır (üstelik bu, dizenin kapladığı yerden daha fazla olacaktır).

Sonuç: Eğer yapmamanın bir yolu varsa, dizeyi diziye bölmeyin.

Aşağıdaki kodda bir programcı, bir dizenin karakterlerini ters çeviriyor. Bu programcının çözümünü optimize edin:

<?php $str = '123345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // '54321' yazacak ?>

Aşağıdaki kodda biri bir metindeki kelime sayısını arıyor. Bu programcının çözümünü optimize edin:

<?php $str = 'aaa bbb ccc'; // uzun bir dize echo count(explode(' ', $str)); ?>
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet