我有用户和帖子,我希望在网页上以棋盘图案显示它们,如下所示(其中P是Post,U是用户):
P - U -P - U
U - P -U - P
P - U -P - U
U - P -U - P
无论哪一项是第 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时一次添加两个帖子或用户,但没有任何结论。
抱歉我看不懂 php...但从逻辑上讲,您需要在偶数行的"发布"之前推送"用户"。所以伪代码会像这样:
if (lineno % 2 == 0) {
push user; push post;}
else {
push post; push user;}