我得到了一个(php)数组,结果是1、2、3、4、5或6。我想在不同的情况下将它们显示如下:
1结果:
[result 1]2结果:
[result 1] [result 2]3结果:
[result 1] [result 3]
[result 2]4结果:
[result 1] [result 3]
[result 2] [result 4]5结果:
[result 1] [result 4]
[result 2] [result 5]
[result 3]6结果:
[result 1] [result 4]
[result 2] [result 5]
[result 3] [result 6]如果我可以只使用CSS (当然不是表格)就好了,这样正确的顺序就会保留在源代码中,但显示方式与上面一样。否则,我想我需要一些奇怪的PHP循环来在我的屏幕上以正确的顺序获得这些结果。有人知道怎么做吗?提前感谢!
发布于 2012-04-05 17:08:50
我想只用css是不可能做到这一点的。您必须将数组一分为二,并将前半部分显示为第一列,将后半部分显示为第二列。应该不是很难做吧?
发布于 2012-04-05 17:11:26
就像这样
$out = "<table><tbody>";
for ($i = 0; $i < count($array); $i++){
$el = $array[$i];
if(($i % 2) === 0){
$out .= '<tr>';
}
$out .= "<td>$el</td>";
//Handlethe case that this is the last iteration and
//the elements of the array are odd
if((($i % 2) === 1) && (($i + 1) === count($array))){
$out .= "<td></td></tr>";
}elseif(($i % 2) === 1){
$out .= "</tr>";
}
}
$out .= "</tbody></table>";发布于 2012-04-05 17:16:26
$array = array( 1, 2, 3, 4, 5, 6, 7 );
$number_of_columns = floatval(2.0); // float to make the below ceil work
$number_of_items = count( $array );
$items_per_column = ceil( $number_of_items / $number_of_columns );
$current_column = 0;
for ( $i = 0; $i < $number_of_items; $i++ ){
if ( $i % items_per_column == 0 ){
$current_column++;
}
echo $i, ' -> ', $current_column, '<br />';
} https://stackoverflow.com/questions/10025639
复制相似问题