【发布时间】:2013-01-02 09:17:28
【问题描述】:
这个问题有点像我之前的一个问题here。
但是,我想用最基本的术语来说明这一点,希望有人能够帮助我找到解决方案。
考虑这个多维数组:
$images = array(
0 = array(
'height' => 100
),
1 = array(
'height' => 90
),
2 = array(
'height' => 60
),
3 = array(
'height' => 30
)
);
注意数组已经按照高度降序排序了!
这些图片需要分成三列,同时尽量保持列的高度。所以结果数组(上面的例子)看起来像这样:
$gallery_columns = array(
1 => array(
'height' => 100
'images' => array(
0 = array(
'height' => 100
),
)
),
2 => array(
'height' => 90
'images' => array(
0 = array(
'height' => 90
),
)
),
3 => array(
'height' => 90
'images' => array(
0 = array(
'height' => 60
),
1 = array(
'height' => 30
),
)
)
);
我正在努力编写一个算法来实现上述目标。任何人都可以在不使用大量嵌套循环等的情况下找到实现这一目标的好方法吗?
【问题讨论】:
-
嗨,Ben,您有需要的特定宽度吗?另外,图像的高度范围是多少? :) 世界末日快乐!
-
@JoshBrody 图像的宽度始终相同,列的高度尽可能高。这取决于数组中的图像数量,页面将无限滚动。有关更多详细信息,请参阅我的其他问题stackoverflow.com/questions/13840168/…
标签: php image gallery sinemacula