Optimasi Melalui Fungsi Bawaan di PHP
Misalkan seorang programmer memeriksa apakah
ada angka 5 dalam sebuah array:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // keluar dari loop agar tidak berputar tambahan kali
}
}
var_dump($exists);
?>
Saya menyatakan bahwa ada sesuatu yang tidak beres dengan kode ini. Apa yang tidak beres? Bukankah kita keluar dari loop setelah menemukan angka 3? Masalahnya adalah fungsi bawaan PHP selalu bekerja secara signifikan lebih cepat daripada kode buatan sendiri yang setara.
Dalam kasus kita, terdapat fungsi in_array
yang memecahkan masalah yang diberikan, - dan kita
harus menggunakan fungsi ini:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Pelajaran: Sebelum memecahkan suatu masalah, pastikan untuk memeriksa apakah ada fungsi bawaan PHP untuk menyelesaikannya.
Dalam kode berikut, seorang programmer menemukan jumlah elemen array. Optimalkan solusi programmer ini.
Berikut kodenya:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Dalam kode berikut, seorang programmer menemukan hasil kali elemen array. Optimalkan solusi programmer ini:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>