Я, начитавшись Джеффри Фридла, проникся его идеей по поводу модификатора U. Суть в том, что Джеф считает его использование дурным тоном, и если можно без него обойтись (как например тут, добавить ? и жадность инвертируется), то лучше обойтись.
LIME пишет:
DeleteCommentsAndSpaces - пример названия для метода, только с маленькой буквы принято в начале
Это я в курсе )) Я не про имя метода говорил, а про название переменной для шаблона. Как по мне, то $commentsPattern мало что поясняет.
LIME пишет:
кстати я бы и utf обозначил, иначе могут быть закономерные неожиданности
хотя есть другой вариант
положить шаблон в переменную и говорящим именем и тогда надо будет только один раз его прочитать и не ломать глаза каждый раз глядя на парад закорючег пли любой доработке
что дорабатываешь только то и читаешь
А как назвать переменную в этом случае, DeleteCommentsAndSpaces? Может ты и прав, так понятнее для программиста. (Добавление)
Если не знаете, где именно в скрипте пропадает необходимое значение, то либо дебажте скрипт, либо расставляйте вручную контрольные точки на каждом "подозрительном" участке программы, и контролируйте визуально ожидаемое значение переменной. Или же предоставьте минимально воспроизводимый пример, чтобы мне можно было его скопировать и запустить на локальном сервере, т.к. в данный момент у меня нет необходимого окружения для запуска вашего скрипта.
Не факт, что действуя "на ощупь" вы сможете найти решение быстрее, чем открыть описание функционала с готовыми примерами. Скорее всего, у вас ещё не выработался навык чтения документации, но это дело времени.
это не массив, а объект класса AE_VirtualWallet, который в свою очередь хранит объект класса AE_Currency. Как с ними работать - частично написано выше. Ну а подробно - в оф.документации. Вам нужно, прежде чем тут задать вопрос, почитать об этом в документации - там есть ответы на 99 % вопросов. И время себе сэкономите
там массив все в порядке, пытаюсь его перевести в строку при помощи implode не выходит
И не выйдет, потому что unserialize() "понимает" строки определённого формата. Если у вас уже есть массив, то и работайте с ним, как с массивом. А уже потом, перед записью в БД (в случае, если в БД хранится именно сериализованная строка), обрабатывайте этот массив функцией serialize() и пишите полученную сериализованную строку в базу.
Warning: unserialize() expects parameter 1 to be string, object given
Раз ругается, значит так и есть. Интерпретатор - лучший помощник программиста. В вашем случае сообщение говорит: unserialize() ожидает, что первый параметр должен быть строкой, а вместо этого передаётся объект. Проверить это можно или функцией var_dump():