【发布时间】:2016-03-26 04:07:13
【问题描述】:
我有这个简单的 PHP 代码:
<?php
$string = "M - T - A - C - B - N - Z.";
$arrayOne = ["A", "B", "C", "D"];
$arrayTwo = ["D", "E", "F", "G"];
$length = count($arrayOne);
for ($i = 0; $i < $length; $i++){
$replacement[$arrayOne[$i]] = $arrayTwo[$i];
}
echo strtr($string, $replacement);
?>
这里我只是使用两个数组中的数字索引来创建一个替换数组,我可以在strtr() 中使用它。
$replacement = [
"A" => "D",
"B" => "E",
"C" => "F",
"D" => "G",
];
现在我想做同样的事情,只是针对两个数组具有相同键的值。
如果我有:
$k_1 = [
"hat" => "M",
"new" => "A",
"bad" => "B",
"hot" => "C",
"big" => "D"
];
$k_2 = [
"new" => "D",
"bad" => "E",
"hot" => "F",
"err" => "K",
"big" => "G"
];
我们通过两个数组的键得到如下交集:
[
"new",
"bad",
"hot",
"big",
]
现在我想再次使用第一个数组中的值,这些键作为搜索,第二个数组值作为替换,例如
$replacement = [
"A" => "D",
"B" => "E",
"C" => "F",
"D" => "G",
];
我现在需要如何修改我的代码,它会这样做吗?
【问题讨论】:
标签: php arrays string intersection