PHP ішкі функциялары арқылы оңтайландыру
Бір программашы массивте
5 саны бар-жоғын тексерсін:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // циклді артық айналмас үшін шығамыз
}
}
var_dump($exists);
?>
Мен бұл кодта бір нәрсенің дұрыс емес екенін айтамын. Не болды, біз 3 санын тапқаннан кейін циклден шықпадық па? Мәселе мынада, PHP ішкі функциялары әрқашан өзінше жазылған ұқсас кодтан реттік жылдам жұмыс істейді.
Біздің жағдайда in_array функциясы бар,
ол берілген мәселені шешеді - және пайдалану
дәл осы функцияны қолдану керек:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Мораль: мәселені шешуден бұрын міндетті түрде тексеріңіз, оны шешу үшін PHP ішкі функциясы бар ма.
Келесі кодта бір программашы массив элементтерінің қосындысын табады. Бұл программашының шешімін оңтайландырыңыз.
Мына код:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Келесі кодта бір программашы массив элементтерінің көбейтіндісін табады. Бұл программашының шешімін оңтайландырыңыз:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>