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 to string conversion in

 PHP.SU

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


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

> Без описания
vzdrizd
Отправлено: 08 Августа, 2013 - 14:06:51
Post Id


Новичок


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


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




Здравствуйте. Объявляю массив в который должен хранить значения выбранные пользователем с помощью combobox именем answer
<?php
if(isset($_POST['answer']))
$answer[] = $_POST['answer'];
?>

при попытке значения выдает ошибку "Array to string conversion in"

<?php
foreach($answer as $value)
{
echo $value;
}
?>

Не подскажите почему? Заранее благодарю

(Отредактировано автором: 08 Августа, 2013 - 14:07:34)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Августа, 2013 - 14:08:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Значит, $_POST['answer'] так же является массивом.


-----
PostgreSQL DBA
 
 Top
esterio
Отправлено: 08 Августа, 2013 - 14:14:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




vzdrizd пишет:
combobox

Может глупость. Но Вы не используюте PHP Devel Studio?
 
 Top
vzdrizd
Отправлено: 08 Августа, 2013 - 17:04:25
Post Id


Новичок


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


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




Мелкий пишет:
Значит, $_POST['answer'] так же является массивом.


А тогда как выводить элементы данного массива answer?

(Отредактировано автором: 08 Августа, 2013 - 17:09:16)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Августа, 2013 - 17:06:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Как массив. Однако Разве не очевидно?


-----
PostgreSQL DBA
 
 Top
eai
Отправлено: 08 Августа, 2013 - 17:06:36
Post Id



Частый посетитель


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


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




Мелкий пишет:
Значит, $_POST['answer'] так же является массивом.


А разве нельзя присвоить нельзя присвоить массив чему то (например элементу иного массива) ?

Может скорее $answer это строка и обращение к ней $answer[] вызывает ошибку


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $a1 = [0=>array(1,2,3),123];
  4.  
  5. $a2[] = $a1[0];
  6.  
  7. var_dump($a2);
  8.  
  9. print "test 1 done <br><br><br><br>";
  10.  
  11. // ----------------------
  12.  
  13. $a2 = 'dddd';
  14.  
  15. $a2[] = $a1[0];
  16.  
  17. var_dump($a2);
  18.  
  19. print "test 2 done <br><br><br><br>";
  20.  


Правда в тесте 2 ошибка не та что у вас.


Вашу ошибку скорее всего вызывает строка echo $value, Мелкий тут прав
попробуйте проанализировать значения которые в $value попадает

(Отредактировано автором: 08 Августа, 2013 - 17:14:50)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Августа, 2013 - 17:11:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




eai пишет:
А разве нельзя присвоить нельзя присвоить массив чему то (например элементу иного массива) ?

Можно, разумеется. Что у vzdrizd в коде и происходит. Обычный двумерный массив.

eai пишет:
Может скорее $answer это строка и обращение к ней $answer[] вызывает ошибку

Тогда бы был не Array to string conversion, а Fatal error: [] operator not supported for strings


-----
PostgreSQL DBA
 
 Top
vzdrizd
Отправлено: 08 Августа, 2013 - 17:13:08
Post Id


Новичок


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


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




Мелкий пишет:
Как массив. Однако Разве не очевидно?


Как массив это как echo answer[index] так же вызывает ошибку.
 
 Top
eai
Отправлено: 08 Августа, 2013 - 17:15:51
Post Id



Частый посетитель


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


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




Пробуй так и все увидишь

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['answer']))
  3. $answer[] = $_POST['answer'];
  4.  
  5.  
  6. foreach($answer as $value)
  7. {
  8. //echo $value;
  9. var_dump($value);
  10. }
  11.  

(Отредактировано автором: 08 Августа, 2013 - 17:16:22)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Августа, 2013 - 18:24:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




vzdrizd пишет:
Как массив это как echo answer[index] так же вызывает ошибку.

Если в первом сообщении у вас указан весь скрипт и $answer больше нигде не определяется, то этот массив имеет только один элемент, с индексом 0. В котором размещена копия массива $_POST['answer']


-----
PostgreSQL DBA
 
 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