我有:
$a = array(
0=>'you',
1=>'will',
2=>'be',
3=>'so',
4=>'happy',
5=>'in'
);
$b = array(
0=>'1',
1=>'4',
2=>'5'
); // (KEYS:1,4,5)
我想要$ a匹配$ b键的值;
所以$ val将是willhappyin
。
然后用逗号分隔它们......就像:will,happy,in
在最后一个之后没有逗号。
我该怎么做? :)
答案 0 :(得分:7)
$string = implode(",", array_intersect_key($a, array_flip($b)));
<强>说明强>
array_flip将$ b的值切换为键。
array_intersect_key仅获取$ b中也存在于$ b中的条目。
implode通过逗号将结果数组值连接在一起。
答案 1 :(得分:2)
$c = array();
foreach($b as $key)
{
$c[] = $a[$key]
}
echo implode(",",$c);
答案 2 :(得分:0)
$out_arr = array();
foreach ($b as $k => $v) {
array_push($out_arr, $a[$v]);
}
return join($out_arr, ',');