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 :: array проверить массив для переменных

 PHP.SU

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


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

> Без описания
Телевизор
Отправлено: 21 Июня, 2012 - 05:20:12
Post Id



Посетитель


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


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




Подскажите пжста
есть массив со значениями:
PHP:
скопировать код в буфер обмена
  1. $row = array('size' =>'size', 'filename'=>'name');

а на странице много переменных для вывода из масcива, но в массиве некоторых нет значений и переменные пишут notice.
Как проверить массив и вернуть результат переменным чтоб notice не было?




$row['qwe']
$row['size'] // пишет notice (нет в масиве)
$row['filename']

(Отредактировано автором: 21 Июня, 2012 - 05:37:43)

 
 Top
fdr21
Отправлено: 21 Июня, 2012 - 07:57:46
Post Id



Гость


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


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




Телевизор пишет:
Как проверить массив

print_r(), var_dump()
 
 Top
DlTA
Отправлено: 21 Июня, 2012 - 09:37:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


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




 
 Top
Телевизор
Отправлено: 21 Июня, 2012 - 14:00:29
Post Id



Посетитель


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


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




эм... и как эти функции помогут мне решить проблему с нотисами, чот не очень понимаю?

(Отредактировано автором: 21 Июня, 2012 - 14:03:54)

 
 Top
EuGen Администратор
Отправлено: 21 Июня, 2012 - 14:03:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Телевизор пишет:
а на странице много переменных для вывода из масcива

Так Вы бы показали свой код, где происходит генерация Notice.
Пока что предполагаю, что речь идет о несуществующих индексах массива, проверку чего можно сделать с помощью array_key_exists


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Телевизор
Отправлено: 21 Июня, 2012 - 14:18:49
Post Id



Посетитель


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


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




Эти переменные
$row['description']
$row['keywords']
$row['event']
$row['size']
... и много других...
эти переменных они после выборки из mysql.
Если нет выборки из базы то вместо: $row = mysql_fetch_array($result);
идет мой массив: $row = array('size' =>'234', 'filename'=>'234');
но в массиве всего лишь два значения и в результате переменные на странице будут выдовать notice кроме тех кто нашелся в масиве.

Пытался с array_key_exists но не получилось т.к. у него для поиска нужно указать явное значение для поиска.
 
 Top
EuGen Администратор
Отправлено: 21 Июня, 2012 - 14:32:32
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Телевизор
Ну так и указывайте явное значение, в чем сложность?
Если нужны значения индексов как столбцы таблицы, то можно получить их список с помощью DESCRIBE `имя_таблицы`


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Телевизор
Отправлено: 21 Июня, 2012 - 14:39:17
Post Id



Посетитель


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


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




Когда просто перехожу по url index.php?form=edit
то все в порядке все переменные которые находятся ниже определяются.

Когда перехожу по url index.php?form=serchFiles
Переменные не все определяются и выдают notice из-за того что в массиве нет значений.
Дык вот как в 8-й строке сделать проверку чтобы нотисов небыло

PHP:
скопировать код в буфер обмена
  1. ...
  2. elseif($_GET['form']=='edit') {
  3.  ...
  4.   $row = mysql_fetch_array($result)   // здесь обычная выборка из базы
  5.  ...
  6. }
  7. elseif($_GET['form']=='serchFiles') {
  8.   $row = array('size' =>'234', 'filename'=>'123');  // а здесь выборка из масива
  9. }
  10.  
  11. $row['title'];
  12. $row['qwe'];
  13. $row['asd'];
  14. $row['size'];
  15. $row['filename'];

(Отредактировано автором: 21 Июня, 2012 - 14:54:58)

 
 Top
EuGen Администратор
Отправлено: 21 Июня, 2012 - 15:08:26
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Тогда проверяйте, вернул ли запрос хотя бы 1 строку


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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