$n = array(1, 2, 3, 33);
$v = array('один', 'два', 'три', 'тридцать три');
$mergeArr = str_replace($n, $v, '1, 2, 33');
echo $mergeArr; //выводит: один, два, тритри
Не могу найти подходящей функции. Или как написать самому регулярку, чтобы правильно выводило?
Первыми ставьте более длинные строки для поиска
<?php
$n = array('33', '1', '2', '3');
$v = array('тридцать три', 'один', 'два', 'три');
$mergeArr = str_replace($n, $v, '1, 2, 33');
echo $mergeArr; // один, два, тридцать три
UPD
Можно использовать функцию strtr() для замены подстрок.
strtr() может вызываться с двумя аргументами. В этом случае from должен быть массивом (array), в форме array('from' => 'to', ...). Функция возвратит строку, в которой все ключи массива будут заменены их элементами. strtr() в первую очередь заменяет более длинные ключи, причем одна и та же строка поиска используется только один раз.
<?php
$n = array(1, 2, 3, 33);
$v = array('один', 'два', 'три', 'тридцать три');
$repl = array_combine($n, $v);
$mergeArr = strtr('1, 2, 33', $repl);
echo $mergeArr; // один, два, тридцать три
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
https://githubcom/akalongman/php-telegram-bot#credits
Знаю , что по этому поводу много уже задано вопросов , и найдено ответов , но я эту проблему никак не могу решитьPHP_BINDIR показывает неверный...