Как сказано в документации функции strtr
php.net/manual/ru/function.strtr.php :
Если указаны три аргумента, эта функция возвращает копию str, в которой все вхождения каждого символа (однобайтного) из from были заменены на соответствующий символ в параметре to, т.е. каждое вхождение из $from[$n] заменяется на $to[$n], где $n это корректное смещение строки в обоих аргументах.
То есть, для
многобайтовой кодировки вместо конструкции:
$st=strtr($st,"абв","abv");
... следует использовать конструкцию:
$st=strtr($st,
array(
"а" => "a",
"б" => "b",
"в" => "v",
)
);
... несмотря на то, что мы заменяем только по одному символу - ведь эти символы многобайтные.
mb_strtrСкорее всего именно поэтому функция mb_strtr отсутствует, так как в ней нет необходимости, достаточно использовать strtr. Хотя с точки зрения юзабилити удобнее было бы писать mb_ для многобайтовых кодировок, так привычнее.