Нужно сделать проверку на одинаковые числа в цикле
$arr -массив.$num = 10. Нужно сделать проверку, если в массиве есть сумма которая есть в переменной $num вывести 1. Что делаю не так
function t10($num,$arr)
{
for ($i = 0; $i <= count($arr); $i++){
if($num === $arr[$i]){
return 1;
}
else {
return 0;
}
}
}
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Несколько ошибок:
- не
$sum, а$num - если соблюдается какое-либо из условий, то сразу происходит выход из функции. Соответственно, если первое значение не совпадает с условием, то сразу происходит return 0. Цикл дальше не выполняется, т.к. из функции уже вернули значение и вышли из неё
Проблема решается чуть по-другому:
- запускается цикл
- если значение совпадает, то делаем
return true;(1) - а вне цикла ставится
return false;(0) . Т.к. если весь цикл отработал, значит ничего не нашлось.