我有这些阵列;
$arr1=array("1","2","3","4");
$arr2=array("a","b","c","d");
$x=array(1,3,4,2,4,1,2,2,3,4,4,4,1);
我想在屏幕上打印$ x,如下所示:
A,C,d,b和d,A,B,B,C,d,d,d,一个
答案 0 :(得分:3)
虽然你可以像原始oaf一样使用foreach
循环(我在开玩笑,不要讨厌我!),你可以使用专为此类设计的函数。
$map = array_combine($arr1,$arr2);
$result = array_map(function($i) use ($map) {return $map[$i];}, $x);
echo implode(",",$result);
文档:array_combine
,array_map
,anonymous functions,implode
。
作为一般规则,使用内置函数通常比自己迭代更快。
答案 1 :(得分:-4)
@Niet the Dark Absol好回答
这是使用foreach的一个 - 使用@sjagr建议代码
$arr1=array("1","2","3","4");
$arr2=array("a","b","c","d");
$x=array(1,3,4,2,4,1,2,2,3,4,4,4,1);
foreach ($x as $k) { echo $arr2[$k-1].','; }