我有用户和帖子,我希望在网页上以棋盘图案显示它们,如下所示(其中P是Post,U是User):
P - U - P - U
U - P - U - P
P - U - P - U
U - P - U - P
无论哪一项是第4行中的第4行,都会重复作为下一行的第1行。
我将首先获得所有帖子的列表以及所有用户的列表。然后我将它们组合成一个更大的列表并应用了排序。
我已经用PHP编写了这个,但我现在的代码轮流转发P U P U:
P - U - P - U
P - U - P - U
P - U - P - U
P - U - P - U
这是我的代码:
$posts = Post::all()
$users = User::all()
$tiles = collect();
foreach ($posts as $post) {
$tiles->push($post);
if ($users) {
$tiles->push($users->pop());
}
}
我正在寻找一种获得棋盘格模式的有效方法,我一直在尝试使用计数器并在计数器%4 == 0时一次添加两个帖子或用户,但没有结论。
答案 0 :(得分:0)
对不起,我无法读取php ...但从逻辑上讲,你需要推送用户"之前"发布"在偶数线上。所以伪代码会像:
if (lineno % 2 == 0) {
push user; push post;}
else {
push post; push user;}