@TimCec

В чем нюанс php скрипта?

Ребят, подскажите в чем вопрос
Скрипт
<?
include($_SERVER['DOCUMENT_ROOT'].'/_rout/_smtp.php');
//Обработка
$text='';
$text_f='';
foreach ($_POST as $k=>$v){
		$text.=$k.'='.$v.'<br />';
		$text_f.=$k.'='.$v."\r\n";
        foreach ($v as $k2=>$v2){
            $text.='&nbsp;&nbsp;'.$k2.'='.$v2.'<br />';
			$text_f.='   '.$k2.'='.$v2."\r\n";
        }
..............


В логе ошибки

PHP Warning: Invalid argument supplied for foreach() in /home/cbrcash/public_html/_rout/index.php on line 9

Заранее всем спасибо за внимание к вопросу.
  • Вопрос задан
  • 300 просмотров
Пригласить эксперта
Ответы на вопрос 4
PavelK
@PavelK
Добавьте проверку, действительно ли $v является массивом (php.net/manual/ru/function.is-array.php) перед запуском цикла.
Ответ написан
А где Вы увидели ошибку? Я вижу только warning. И непонятно которая из строк 9-я.
Ответ написан
profesor08
@profesor08
Раз ты с $v работаешь как со строкой, скорее всего она строкой и является, а раз так, то почему ты ее пытаешься итеррировать через foreach, если она не является массивом?
Ответ написан
<?
include($_SERVER['DOCUMENT_ROOT'].'/_rout/_smtp.php');
//Обработка
$text='';
$text_f='';
foreach ($_POST as $k=>$v){
If(!is_array($v)){
$text.=$k.'='.$v.'
';
$text_f.=$k.'='.$v."\r\n";
}
else if(is_array($v)){
foreach ($v as $k2=>$v2){
$text.='  '.$k2.'='.$v2.'
';
$text_f.=' '.$k2.'='.$v2."\r\n";
}
}
}

Проверка на массив но можно проще написать с телефона не удобно писать.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 120 000 до 150 000 ₽
Директ Кредит Казань
от 70 000 до 120 000 ₽
Технология Тюмень
от 50 000 до 130 000 ₽
08 авг. 2020, в 17:08
15000 руб./за проект
08 авг. 2020, в 16:12
10000 руб./за проект
08 авг. 2020, в 16:07
5000 руб./за проект