Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт Выдает предупреждение, не пойму почему!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
matq
Отправлено: 18 Июня, 2011 - 18:41:53
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. for($i=0;$i < 10;$i=$i+9){ //группы
  2.     for($j=0;$j<1;$j++){ // пользователи
  3.                 $fp = fopen("e:\\vek\\text($j).txt", "w");
  4.                 fwrite($fp, "X Y\n");
  5.             for($q=0;$q<1;$q++){ //кол запросов
  6.                         $req=rand($i,($i+3));
  7.                         for($r=1;$r<=$k;$r++){
  8.                             if($r+$req<10)
  9.                                 $user_req[]=($req+$r); //Формирую массив ВАРИАНТ 1                              
  10.                             }
  11.                                 print_r($user_req);//Array ( [0] => 3 [1] => 4 [2] => 5 )
  12.                // $user_req=array(3,4,5);//!!!!Вариант 2 Если отправляю такой
  13.                                                     /// массив все нормально            
  14.   $poz=imit($user_req,$doc_term,$count_term);//ЕСЛИ ОТПРАВЛЯЮ ВАРИАНТ 1 ВЫДАЕТ /////ПРЕДУПРЕЖДЕНИЕ Warning: Invalid argument supplied for foreach()
  15.                                 fwrite($fp, "$q $poz\n");
  16.                 unset($user_req);      
  17.                                
  18.                                
  19.                             }
  20.                 fclose ($fp);          
  21.         }
  22.     $k--;    
  23.     }

Формирую массив и отправляю,в функции и обрабатываю
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($req as $q){
  3.         $IDFQ[]=100/$c_term[$q];
  4.         $Q+=pow((100/$c_term[$q]),2);
  5.      }

выдает предупреждение Warning: Invalid argument supplied for foreach() , подскажите пожалуйста почему.
 
 Top
Slavenin
Отправлено: 18 Июня, 2011 - 18:52:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




перед
PHP:
скопировать код в буфер обмена
  1. foreach ($req as $q){
  2.         $IDFQ[]=100/$c_term[$q];
  3.         $Q+=pow((100/$c_term[$q]),2);
  4.      }


сделайте
 
 Top
matq
Отправлено: 18 Июня, 2011 - 18:56:41
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Делал,req сформирован так как надо, элементы все в нем
(Добавление)
Исправил после 5 строчки написал $user_req=array();)) Хотя не очень понятно почему до этого не работала)
есть еще вопрос, почему то когода записываю в файл данные они записываются в одну строку, '\n' ставлю, как подскажите что делаю не так?)
 
 Top
Slavenin
Отправлено: 18 Июня, 2011 - 19:13:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




в конце добавляемой строки нужно дописать .PHP_EOL

например

PHP:
скопировать код в буфер обмена
  1. $str = 'первая строка' .PHP_EOL
 
 Top
matq
Отправлено: 18 Июня, 2011 - 19:22:45
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Slavenin пишет:
в конце добавляемой строки нужно дописать .PHP_EOL

например

PHP:
скопировать код в буфер обмена
  1. $str = 'первая строка' .PHP_EOL

Точно, СПАСИБО !!!)
(Добавление)
Возникла еще не большая проблемка почему то не записывается значение переменной $poz
PHP:
скопировать код в буфер обмена
  1. $poz=imit($user_req,$doc_term,$count_term);
  2.         fwrite($fp, "$q $poz".PHP_EOL);        

Впервой строчке значение присваевается, но в файл записывается только $q..
 
 Top
Slavenin
Отправлено: 18 Июня, 2011 - 21:44:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




а в функции imit есть return ?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB