Задать вопрос
@adil16

Как вывести определенную строку, если функция возвращает false?

function Arr($arr)
{ if(!is_array($arr)) {
	return false;
	die;
}
elseif(!is_numeric($arr)){
	return false;
	die;
}

	$summa =0;
foreach ($arr as $value){
  	$summa +=$value;
}

echo 'Сумма элементов массива равна'.$summa;
}


Как вывести строку: «Некорректный массив», если функция возвращает false,
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@Lynatik001
ну запихни в условие еко "сумма элементов массива..." поставь. если возращает false выводи «Некорректный массив» else echo 'Сумма элементов массива равна'.$summa
Ответ написан
@JohnDidact
Нуб во всём
Отвечая конкретно на вопрос, закрыв глаза на return false; die;, на то, что !isset($summa) у тебя всегда будет false, на то, что делаешь велосипед, причём очень кривой с квадратными колёсами:
if(false === Arr($arr)) echo 'определенная строка';
По-хорошему, стоило бы сначала проверить, является ли выражение массивом, потом проверить значения в массиве — являются ли они числами, если не массив или в значениях не числа, то вернуть строку, иначе — значение array_sum($arr). Проверить массив можно функцией array_filter() или обойти массив foreach, проверяя значение функцией is_numeric() (если пойдет и int, и float, и число в строке, типа '123')... Воот, кратко так. Но можно сделать ещё лучше, а писать мне уже лень. Могу лишь дополнить: сделать так, чтобы $arr у тебя был всегда массивом и контролировать, что ты туда пишешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы