Проблема с регулярными выражениями

TheStriker

Новичок
Найдите отличия в Вашем случае и в случае примера из мануала.
Насчет того что работаю с копией - этот момент я понял.... По этой причине оно мне выводится через echo нормально, а вот изменений в реальном массиве я не вижу....

А вот отличий от мануала - в упор не вижу....:( И на фоне этого не совсем пойму что значит "работать по ссылке" наверное......

У меня, вообще, суть задачи такова - взять массив, выкинуть из него элемент и пересобрать заново....Первые два - уже решил(...кое что не без Вашей помощи...), а вот с пересборкой массива - гвоздь....И хоть всю ночь не спи :(
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
dimagolov
понимаю. Мой ответ - это ответ на
Вот такой код. И возвращает он мне массив БЕЗ квадратных скобок
.
Вот я и пытаюсь объяснить почему этот код не работает

-~{}~ 29.11.07 23:43:

А вот отличий от мануала - в упор не вижу
Значит пора идти спать.

foreach($arr as $key=>$val )
foreach ($arr as &$value)

-~{}~ 29.11.07 23:44:

http://www.php.net/manual/ru/language.variables.php
 

dimagolov

Новичок
TheStriker
выкинуть элемент это как? можно просто unset и ничего пересобирать не нужно, если на ключи не накладывать ограничений. если они цифровые и надо их держать непрерывными, то потом можно array_values

http://www.php.net/manual/ru/function.array-values.php - слева список всех ф-й по работе с массивами (implode & explode в строковых ф-ях), перебирать все до нахождения нужной и подходящей

Mr_Max
да я тоже в начале не досмотрел что он только скобки цепляет и думал, что это склейка через foreach делается (кстати, надо еще потестить что быстрее), но тогда implode после foreach совсем лишний и опять таки ссылки тоже там не нужны, так как результат пошел бы сразу в строку без модификации массива.
 

TheStriker

Новичок
Автор оригинала: dimagolov
TheStriker
выкинуть элемент это как? можно просто unset и ничего пересобирать не нужно, если на ключи не накладывать ограничений. если они цифровые и надо их держать непрерывными, то потом можно array_values
Объясняю подробнее. В базе данных есть строка "[["Apple"]] [["Pear"]] [["Orange"]]". Я её вытягиваю и разбиваю на элеманты регулярным выражением. После этого имею Array ([0]=>"Apple",[1]=>"Pear",[2]=>"Orange"). Выкидываю элемент "Pear" функцией unset. А вот теперь и возникает задача - обратить его в массив начального вида, но уже без "Pear".

До unset всё идет нормально и получаю то, что нужно. А вот с облачением в [[ ]] возникает проблема.....

Значит пора идти спать.

foreach($arr as $key=>$val )
foreach ($arr as &$value)
Насчет идти спать - немогу не согласиться.....

А вот на & - выдает Parse error - уже пробовали.....
 

dimagolov

Новичок
TheStriker, перечитай внимательно мои сообщения. я там указал 2!!! метода формирования нужной строки, один через foreach, второй через implode. ни в том ни в другом случае ничего менять в массиве не нужно, поэтому никакие ссылки не нужны.
 

TheStriker

Новичок
Автор оригинала: dimagolov
TheStriker, перечитай внимательно мои сообщения. я там указал 2!!! метода формирования нужной строки, один через foreach, второй через implode. ни в том ни в другом случае ничего менять в массиве не нужно, поэтому никакие ссылки не нужны.
Так у меня и так сначала иде foreach а потом implode.....

Спасибо Вам огромное!

Всё вышло. Помог амперсанд. Но предварительно обновился до ПХП5....Был 4.4.2. Хотя судя по ману - и в 4-ом такой метод должен проходить....
 

dimagolov

Новичок
TheStriker
подумай еще раз головой.
если есть foreach, то implode использовать не нужно (2 строки кода и без &)
если использовать implode то цикл foreach не нужен. (1 строка кода, то есть одно выражение)
 
Сверху