2 回答
TA贡献1797条经验 获得超6个赞
你可以用array_intersect_key()与array_flip():
<?
$skus[0] = "hello";
$skus[1] = "world";
$skus[2] = "sky";
$skus[3] = "is";
$skus[4] = "blue";
$words = array(0,2,4);
$result = array_intersect_key($skus, array_flip($words));
$setOrder = array_values($result); // to re order
echo "<pre>";
print_r($setOrder);
?>
结果:
Array
(
[0] => hello
[1] => sky
[2] => blue
)
您还可以使用array_values()重置密钥顺序。
TA贡献1802条经验 获得超4个赞
您可以使用for循环并检查索引是否$words存在于$skus:
$skus = [
"Hello",
"world",
"sky",
"is",
"blue",
];
$words = array(0,2,4);
$result = [];
for ($i = 0; $i < count($words); $i++) {
if (isset($skus[$words[$i]])) {
$result[$i] = $skus[$words[$i]];
}
}
print_r($result);
结果
Array
(
[0] => Hello
[1] => sky
[2] => blue
)
- 2 回答
- 0 关注
- 297 浏览
添加回答
举报