【发布时间】:2013-04-03 03:20:05
【问题描述】:
这里的一位好心用户给了我这个代码:
$singles = valley_images();
$groups = valley_group_images();
$images = array_merge($singles, $groups);
$sortArray = array();
foreach($images as $image){
foreach($image as $key=>$value){
if(!isset($sortArray[$key])){
$sortArray[$key] = array();
}
$sortArray[$key][] = $value;
}
}
$orderby = "timestamp"; //change this to whatever key you want from the array
array_multisort($sortArray[$orderby],SORT_DESC,$images);
foreach($singles as $single) {
echo '<img src="1/'.$image['album_id'].'/'.$image['code'].'.'.$image['ext'].'"/>';
}
foreach($groups as $group) {
echo '<img src="groups/'.$image['group_id'].'/'.$image['code'].'.'.$image['ext'].'"/>';
}
现在的问题是,我将从 2 个不同的表中抓取图像,图像和 group_images。但是图像存储在“1”文件夹中,而 group_images 存储在“groups”文件夹中。我将如何设法根据带有该代码的表更改链接,因为代码没有告诉表它来自哪里?
最后 2 个 foreach 语句是分开的,没有排序。我不确定如何像这样合并 foreach 并进行排序。
【问题讨论】:
-
一个用户给了你一些代码,另一个用户修改了它。你的角色是什么?管理?
-
您有 2 个选项:最好的,编辑 $images 的来源,以包含表格。糟糕的替代方案 - 根据循环中的每个文件夹检查每个图像以确定正确的链接。
-
我编辑了 $images 的源以包含第二个表,但问题是它过滤了所有图像,因此对它们进行排序。我已经更新了主帖。
-
为什么源代码永远不知道它们来自哪个表?从这个例子看来,这似乎是抽象出来的,但您可以更改代码以某种方式传递该信息。