Uboreshaji Kupitia Kazi Zilizojengwa Ndani ya PHP
Acha programu fulani angalie kama kuna
nambari 5 kwenye safu:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // tutatoka kwenye kitanzi, ili kisizunguke tena
}
}
var_dump($exists);
?>
Nadai kuwa kuna kitu kibaya na msimbo huu. Ni nini haswa, hatuki tunatoka kwenye kitanzi baada ya kupata nambari 3? Jambo ni kwamba, kazi zilizojengwa ndani ya PHP huwa zinafanya kazi kwa kasi ya juu zaidi kulinganisha na msimbo unaofanana ulioandikwa wenyewe.
Kwenye kesi yetu kuna kazi in_array,
inayotatua tatizo lililowekwa - na inapaswa
kutumika haswa kazi hii:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Maadili: kabla ya kutatua tatizo hakikisha kuangalia, kama hakuna kazi iliyojengwa ndani ya PHP ya kutatua.
Kwenye msimbo ujao programu fulani anapata jumla ya vipengele vya safu. Boresha ufumbuzi wa programu huyu.
Huu ndio msimbo:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Kwenye msimbo ujao programu fulani anapata zawadi ya vipengele vya safu. Boresha ufumbuzi wa programu huyu:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>