この質問は、私の以前の質問hereから引き継がれているようなものです。
ただし、誰かがこれに対する解決策を見つけるのを手伝ってくれることを願って、これを最も基本的な用語で説明したいと思います.
次の多次元配列について考えてみましょう。
$images = array(
0 = array(
'height' => 100
),
1 = array(
'height' => 90
),
2 = array(
'height' => 60
),
3 = array(
'height' => 30
)
);
配列はすでに高さの降順でソートされていることに注意してください。
これらの画像は、列の高さをできるだけ均一に保ちながら、3 つの列にプッシュする必要があります。したがって、(上記の例の) 結果の配列は次のようになります。
$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
),
)
)
);
上記を達成するためのアルゴリズムを書くのに苦労しています。多くのネストされたループなどを使用せずにこれを達成する良い方法を誰かが見ることができますか?