![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| supervladislav |
|
||||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: -8 Всего: -9 |
скажите с чем может быть связана ошибка если в массиве 4 сверху.
Fatal error: [] operator not supported for strings i
|
||||
|
|||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
-------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: -8 Всего: -9 |
Я и точнокой и без точки делал
|
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
array_push($this->_opponents, $this->user_id);
Добавлено через 6 минут и 23 секунды Скажите пожалуйста, а блок else когда нибудь исполнится в Вашем контексте
|
|||
|
||||
| enoff |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
Sentox,
думаете array_push работает со строками?
разрабатываемая игра походу в жанре фентези, сценарий прям с исходников пошел писать автор
интерпретатор говорит, что не массив это. |
||||
|
|||||
| supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: -8 Всего: -9 |
Sentox, да просто мне было не понятно откуда в процессе присвоения в массив записывается пусто
|
|||
|
||||
| Sentox |
|
||||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
И не собираюсь утверждать в моём примере что угодно в массив добавиться с последующим номером ключа. array_push принимает массив и складывает в него хоть объекты Это в примере supervladislav ошибка интерпритатора (конкатенация, которая свойственна строкам (string) с присваиванием в массив очередного элемента). Интерпритатор принял это как парадокс Добавлено через 5 минут и 26 секунд
Лучше продебажить и найти ошибку чем "костыли" и "фиксы" строить. Вполне резонно что массив $this->_opponents просто не очищается перед следующим использованием. Вы подумайте вот над чем, стоит ли использовать этот массив как доступный во всём классе или лучше всё таки делать локально в методе, можно избежать многих неприятностей. Это сообщение отредактировал(а) Sentox - 5.9.2011, 22:00 |
||||
|
|||||
| enoff |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
Sentox, не согласен.
сообщение именно про конструкцию [] применительно к переменной, а не про конкатенацию (она как раз должна выполниться: пусто + переменная справа). Т.е. $this->_opponents все-таки строка, а не массив. Добавлено @ 22:14
и маленький тест в подтверждение up. ууупсс... сообщение не то.. Это сообщение отредактировал(а) enoff - 5.9.2011, 22:16 |
||||||
|
|||||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Да, действительно, верно, я такой пример вижу впервые (в плане такую форму присвоения, больше доверяю array_push())
А вот и подоспел мой совет supervladislav, локализируйте $this->_opponents и было бы видно что она не про инициализирована первоначально или имеет вообще другое отношение к классу нежели было задумано первоначально. Чем меньше глубина использования переменной тем легче да и быстрее выявлять ошибки. Не только ошибки но и читаемость кода поднимается в разы. Это сообщение отредактировал(а) Sentox - 5.9.2011, 22:24 |
|||
|
||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
в чем недоверие к $arr[] = 'last element'; ? ну $arr[] .= 'last element'; - сугубо стиль автора и тоже первый раз вижу supervladislav, если ковыряние в коде не устраивает, то хотя бы сделайте var_dump($this->_opponents); а потом уже все равно в глубь кода лезть и пост выше принять к сведению. |
|||
|
||||
| supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: -8 Всего: -9 |
вот я всегда так делал ибо присвоение в противном случае не происходило )))может так грамотно вопрос надо было задать мне.
|
|||
|
||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
Хотите сказать, что у вас
? |
|||
|
||||
| supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: -8 Всего: -9 |
Я так всегда делаю )))незнаю просто с самого начало пошло ,а в чём раздница
Добавлено @ 01:09 enoff, а если второй аргумент не создан ,или неопределён . Честно говоря не понимаю зачем такие вещи усложнять не уточняю , можно просто присвоением. Это сообщение отредактировал(а) supervladislav - 6.9.2011, 01:49 |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
в том что в доках это я не где не обнаружил. и через N версий разработчики могут придумать фишку с использование точки -------------------- Amazing |
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Интересно, получается это просчёт самих разработчиков PHP.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |