
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
Добрый день. и снова проблема с массивами.
Не совсем понимаю на что он ругается. $this->buffer[$block][$i]=str_replace(array_keys($this->tags), array_values($this->tags), $this->file[$i]); $this->tags это массив $this->file[$i] это элемент массива в котором нужно искать. -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2800 Пользователь №: 18145 На форуме: Карма: 91 ![]() |
SergeySA
Сделайте var_dump() для массивов $this->tags и $this->file и выложите сюда. -------------------- Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты. |
![]() |
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
tags -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 5790 Пользователь №: 22814 На форуме: Карма: 264 ![]() |
Массивы должны быть "одномерными", т.е. array(0 => 'hello', 1 => 'world');
-------------------- |
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
linker
tags это одномерный ассоциативный массив file это одномерный нумерованный массив -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
$this->tags=array('{HEAD.Title}'=>'Заголовок')
а file читается из файла -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 5790 Пользователь №: 22814 На форуме: Карма: 264 ![]() |
Собственно
array_keys($this->tags) даёт массив array(0 => 0) array_values($this->tags) даёт массив array(0 => array("{HEAD.Title}" => "Заголовок", "{HEAD.Keyw}" => "ключевое слово")) -------------------- |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2804 Пользователь №: 24406 На форуме: Карма: 181 ![]() |
А я вижу двумерный array(1) { -------------------- Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
|
||
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 5790 Пользователь №: 22814 На форуме: Карма: 264 ![]() |
Дело не в том, какой массив $this->tags дело в том, какие массивы получаются при array_keys() и array_values().
-------------------- |
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
о! Спасибо! Оказалось что в предыдущем методе значения в $this->tags присваиваются $this->tags[]=$array;
убрал скобки и всё заработало. Это сообщение отредактировал SergeySA - 3.01.2014 - 13:29 -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2804 Пользователь №: 24406 На форуме: Карма: 181 ![]() |
Да ну. Если так рассуждать, то виновата функция str_replace, которая не умеет работать с многомерными массивами. Алгоритм это единое целое, цепочка причин и следствий, здесь бы я воздержался от "дело в этом или нет". Начиная с того какие данные есть изначально и заканчивая, тем как они обработаны - это все причины, а следствие, что имеем на выходе. -------------------- Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
|
||
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
T1grOK
ответ linker'а просто навёл на правильную мысль =) -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 5790 Пользователь №: 22814 На форуме: Карма: 264 ![]() |
T1grOK
Дело ни в $this->tags, ни в str_replace(), дело конкретно в том, что возвращает функция array_values() здесь суть только в этом. -------------------- |
![]() |
۩
Дата
|
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
разговор ушёл не в том направлении, проблема уже решена, дело было действительно в $this->tags
-------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
![]() |
![]() ![]() ![]() |