PHP - Заменить эллементы строки на эллементы массива

1 23
nezabor
На сайте с 19.07.2010
Offline
152
#21

SeoNk, все оч просто

str_replace(array_keys($array), array_values($array), $text)

и все что тут не так то

заменяет все ваши ключи на значения из массива

---------- Добавлено 06.04.2017 в 21:41 ----------

mendel:
С другой стороны - ну меньше букофф и сложнее понять как работает!

я просто делал еще обработчик для заворачивания ключей в необходимые квадратные или фигурные скобки

при отсылки писем использовал типа шаблонизатора получается

function arrToTampl($inArr) {

foreach ($inArr as $key => $IA) {
$myArr['{'.$key.'}'] = $IA;
}
return $myArr;
}
Чудес не бывает...
mendel
На сайте с 06.03.2008
Offline
183
#22
silicoid:
но чтоб в простых функциях результат отличался в разы, причем в зависимости от сервера в ту или иную сторону. Вот что странно

Ну у них разная физика процесса просто, это норм вполне.

ПХП ведь изначально собирался как Франкенштейн, из разных библиотек.

Отсюда и каша в наименовании функций.

Плюс у изначальных функций могли быть разные форматы строк, с нулем, с длиной и т.п., их подправили в единый формат, но артефакты все еще остаются.

Функция возвратит строку, в которой все ключи массива будут заменены их элементами. strtr() в первую очередь заменяет более длинные ключи

Однако, стоит учесть тот факт, что эта функция максимально эффективна в том случае, если все ключи имеют одинаковый размер.

Могу себе представить что там за реализация. Сортируем ключи по длине?

Да и по сути функция представляет из себя две разные функции, с разным функционалом. Писать так - плохо. Синтаксис остался из первых версий.

Думаю оставили из соображений совместимости, и не перерабатывали.

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий