php根据关联数组的键拆分字符串

时间:2018-11-18 17:33:43

标签: php split associative-array

如何根据关联数组的键拆分不带分隔符的连接单词字符串?

该数组需要关联,因为我以后需要这些值

我尝试过:

$input = "sixsevensixteenseventeensixtyseventy";
$words = array('six' => 6, 'seven' => 7, 'sixteen' => 16, 'seventeen' => 17, 'sixty' => 60, 'seventy' => 70);
$result = str_replace(array_keys($words), preg_replace('/$/', ' ', array_keys($words)), $input);

$result: six seven six teenseven teensix tyseven ty
desired $result: six seven sixteen seventeen sixty seventy

如何仅获得完全匹配?

ps:我想我不能使用strtr,因为我不在数组内而是在基于关联数组键的字符串内不进行替换。

编辑:这有效:

$spacedwords = preg_replace('/(.*)/', '$1 ', array_keys($words));
$combined = array_combine(array_keys($words), $spacedwords);
$result = trim(strtr($input,$combined));

有没有更好/更快的方法?

0 个答案:

没有答案