⊗ppSpOtAC 83 of 83 menu

Optimasi Konversi ke Array dalam PHP

Tidak selalu perlu memecah string menjadi array untuk melakukan sesuatu pada string tersebut.

Mari kita lihat sebuah contoh. Pada contoh berikut, penulis kode memeriksa apakah ada digit 3 dalam string:

<?php $str = '12345'; $arr = explode('', $str); // pecah menjadi array if (in_array(3, $arr)) { echo 'ada'; } else { echo 'tidak ada'; } ?>

Penulis kode hebat - menggunakan fungsi bawaan PHP daripada menulis solusi yang tidak elegan.

Tapi kodenya tetap tidak optimal: di sini tidak perlu memecah string menjadi array, karena sudah ada fungsi siap pakai strpos yang melakukan pencarian dalam string:

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

Mengapa memecah menjadi array di sini buruk? Karena, pertama-tama, pemecahan menjadi array menghabiskan sumber daya prosesor, kedua, array yang dihasilkan akan memakan tempat di memori RAM (dan ukurannya akan lebih besar daripada tempat yang ditempati oleh string itu sendiri).

Pelajaran: jangan memecah string menjadi array jika ada cara untuk tidak melakukannya.

Dalam kode berikut, seorang programmer membalikkan karakter string dalam urutan terbalik. Optimalkan solusi programmer ini:

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

Dalam kode berikut, seseorang mencari jumlah kata dalam teks. Optimalkan solusi programmer ini:

<?php $str = 'aaa bbb ccc'; // sebuah string yang panjang echo count(explode(' ', $str)); ?>
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak