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
Форумы портала PHP.SU :: Версия для печати :: Как вывести значение массива
Форумы портала PHP.SU » » Вопросы новичков » Как вывести значение массива

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

1. netclan - 23 Сентября, 2013 - 09:19:39 - перейти к сообщению
Есть конструкция:
PHP:
скопировать код в буфер обмена
  1.  
  2. if (($handle = fopen("test.csv", "r")) !== FALSE) {
  3.     while (($datas = fgetcsv($handle, 1000, ";")) !== FALSE) {
  4.     print_r($datas); // выводит массив
  5.         }
  6.        
  7.     fclose($handle);
  8.        
  9. }
  10. print_r($datas); // не выводит массив
  11.  

собственно вопрос, почему в while выводит на экран массив, а во втором случае за конструкцией if и за while не выводит? Что нужно чтобы передать значение массива за конструкцию?
2. Tek - 23 Сентября, 2013 - 10:03:20 - перейти к сообщению
вас не смущает эта строка ?
PHP:
скопировать код в буфер обмена
  1. while (($datas = fgetcsv($handle, 1000, ";")) !== FALSE) {

- на каждой итерации перезаписываем $datas, если $datas раве пустому значению выходим из цыкал. В итоге после while $datas == false

если хотите чтобы где то оставались записывайте их в переменную например
PHP:
скопировать код в буфер обмена
  1.  
  2. if (($handle = fopen("test.csv", "r")) !== FALSE) {
  3.     while (($datas = fgetcsv($handle, 1000, ";")) !== FALSE) {
  4.     print_r($datas); // выводит массив
  5.      $datas_test[] = $datas;
  6.    }
  7.        
  8.     fclose($handle);
  9.        
  10. }
  11. print_r($datas_test);
  12.  
3. netclan - 23 Сентября, 2013 - 10:18:47 - перейти к сообщению
[quote=Tek][/quote]
Спасибо! Дошло теперь!

 

Powered by ExBB FM 1.0 RC1