PHP replace multiple value using str_replace?
The solution
As you can see m gets replaced with Month, and h in Month gets replaced with Hours and the s in Hours gets replaced with Seconds. The problem is that when you’re replacing h in Month, you’re doing it regardless of whether the string Month represents what was originally Month or what was originally an m. Each str_replace() is discarding some information — what the original string was.
$key = 'm'; $search = ['y', 'm', 'd', 'h', 'i', 's']; $replace = ['Year', 'Month', 'Days', 'Hours', 'Munites', 'Seconds']; $replacePairs = array_combine($search, $replace); echo strtr($key, $replacePairs); // => Month
