我遇到的问题是在第二个foreach循环中值被覆盖。我需要将键设置为图像缩略图链接并将值设置为图像路径。
$img_thumbs = array('folder/thumb1.jpg','folder/thumb2.jpg','folder/thumb3.jpg');
$img_links = array('folder/image1.jpg','folder/image2.jpg','folder/image3.jpg');
$imgs = array();
foreach($img_links as $img_val)
{
foreach($img_thumbs as $thum_val)
{
$imgs[$thum_val] = $img_val
}
}
print_r($imgs);
输出(注意图像值如何重复最后一个值):
Array (
["folder/thumb1.jpg"] => ["folder/image3.jpg"],
["folder/thumb2.jpg"] => ["folder/image3.jpg"],
["folder/thumb3.jpg"] => ["folder/image3.jpg"]
)
我需要什么:
Array (
["folder/thumb1.jpg"] => ["folder/image1.jpg"],
["folder/thumb2.jpg"] => ["folder/image2.jpg"],
["folder/thumb3.jpg"] => ["folder/image3.jpg"]
)
提前致谢
答案 0 :(得分:3)
$imgs = array_combine($img_thumbs, $img_links);
请参阅http://php.net/array_combine
如果你绝对想在循环中这样做:
foreach ($img_thumbs as $i => $thumb) {
$imgs[$thumb] = $img_links[$i];
}
答案 1 :(得分:0)
你只需摆脱其中一个foreach
循环,每次循环时将Images数组递增