Есть код, который ищет значения в одном массиве и изменяет значения строки взяв значения из другого массива? Можно ли как то объеденить данные поиска и данные замены в один асоц. массив?
Вот такой вот код есть:
$a = ['plus', 'minus'];
$b = ['+', '-'];
echo str_replace($a, $b, 'plus minus plus');
//Можно ли это как то переписать под асоц. массив?
//$a = ['plus'=>'+', 'minus'=>'-'];
//echo magic($a, 'plus minus plus');
Например используя strtr:
$a = ['plus'=>'+', 'minus'=>'-'];
echo strtr('plus minus plus', $a);
Но надо быть иногда с ним осторожным. Посмотрите примеры, ознакомьтесь, в чем может быть иногда подвох: http://php.net/manual/ru/function.strtr.php#refsect1-function.strtr-examples
Чуть более сложное решение, но имеет место быть:
$a = ['plus'=>'+', 'minus'=>'-'];
$result = str_replace(
array_keys($a),
array_values($a),
'plus minus plus'
);
echo $result;
Продвижение своими сайтами как стратегия роста и независимости