我试图修改一个joomla模块,我遇到一个小问题(这与joomla无关,因此无需代码)。
我有一个foreach循环,其中有一段显示文章的代码。当您在管理面板中设置它时,它会重复多次。我想添加使该模块在多个列上显示项目的功能。我所需要的只是振作,我想我还有其他一切。
基本上我如何修改一个简单的foreach循环,以便它在多个列上显示文章?
而不是这个
一
B'/ P>
C
d
ë
我想要这个
a ........ d
b ........ e
C
答案 0 :(得分:1)
如果您坚持使用表
,您可以从中间获得结果计数和工作$half_count = floor(count($entries) / 2);
for($i=0;$i<$half_count;$i++)
{
echo '<tr>';
echo '<td>' . $entries[$i] . '</td>';
echo '<td>' . (isset($entries[$half_count + $i]) ? $entries[$half_count + $i]: '') . '</td>';
echo '</tr>';
}
答案 1 :(得分:1)
这是一种简单的方法:
php > $arr = array(1,2, 3, 4, 5, 6, 7, 8, 9, 10);
php > for ($i=0; $i<count($arr); $i+=2) { print $arr[$i] . "\t" . $arr[$i+1] . "\n"; }
1 2
3 4
5 6
7 8
9 10
答案 2 :(得分:0)
据我所知,你不能用foreach语句来做,而是用for。
例如:
$iterations = (count($array_of_items) % 2) ? (count($array_of_items) / 2) + 1 : count($array_of_items) / 2;
for ($i = 0; $i <= $iterations; $i++) {
if (isset($array_of_items[$i+3]))
echo $array_of_items[$i].'........'.$array_of_items[$i+3];
else
echo $array_of_items[$i];
}
真正简单的代码没有这么少的信息,但可以成功!
答案 3 :(得分:0)
我不是在for循环中输出,而是在for循环中创建两个文章数组。然后遍历这些数组以在主循环之外创建列。
答案 4 :(得分:0)
你在问题上的信息很少,但这里有你可以使用的东西
$arr = array("a","b","c","d","e","f");
for ($i = 0; $i<count($arr); $i++){
echo $arr[$i]." ". $arr[$i+3] ."\n";
if($i == 2){ break;} //Modify 2 as more alphabets are added
}
输出
a d
b e
c f
答案 5 :(得分:0)
对于通用解决方案,假设打包数组....
function show_table($data, $columns)
{
$items=count($data);
$iters=$items/$columns + ($items % $columns) ? 1 : 0;
for ($y=0; $y<$iters; $y++) {
for ($x=0; $x<$columns; $x++) {
$offset=$y*$columns + $x;
if ($offset<$items) print $data[$offset] . ' ';
}
print "\n";
}
}