用循环将外键分成单独的行

Break foreign keys into separate lines with loop

在每组用户 ID 的开头,我需要添加一个中断。是否有捷径可寻?

for($i=0; $i<count($image); $i++): 
$image[$i]['userid'];
$image[$i]['id'];
endfor;

我不知道从哪里开始。输出需要如下所示:

id:2323 用户:12
ID:2323 用户:13 ID:2323 用户:13 ID:2323 用户:13
id: 2323 用户: 14 id: 2323 用户: 14

目前看起来像这样: 编号:2323 用户:12 ID:2323 用户:13 ID:2323 用户:13 ID:2323 用户:13 id: 2323 用户: 14 id: 2323 用户: 14

在向您展示我对问题的解决方案之前,我想知道为什么有多个用户具有相同的 useridid? id类型之间有什么区别?这对我来说似乎很奇怪,但事不宜迟,让我们开始吧。

我构建了一个类似于您描述的输出的样本数据的小数组。

$users = [
    ['userid' => 2323, 'id' => 12],
    ['userid' => 2323, 'id' => 13],
    ['userid' => 2323, 'id' => 13],
    ['userid' => 2323, 'id' => 13],
    ['userid' => 2323, 'id' => 14],
    ['userid' => 2323, 'id' => 14],
];

您可以使用一个变量来指示之前的 id 是什么,并每次检查以确定是否应插入换行符。

$previous = null;

foreach($users as $info) {

    $id     = $info['id'];
    $userid = $info['userid'];

    if(!is_null($previous) && $previous !== $id) {
        echo '<br/>';
    }

    echo "id: {$userid} user: {$id} ";

    $previous = $id;

}

这应该输出以下内容:

id: 2323 user: 12  
id: 2323 user: 13 id: 2323 user: 13 id: 2323 user: 13  
id: 2323 user: 14 id: 2323 user: 14

希望对你有所帮助,编码愉快!