如何使用php并行打印数组

时间:2017-12-26 07:37:20

标签: php

我有一个名为images的表格,其中有两列:user_id& image_pathuser_id =>的值1,1,2,2,3image_path =>的值abc,xyz,qwe,asd,wes

换句话说(我需要使用php进行以下输出):

user_id:1
image_path:abc
           xyz

user_id:2
image_path:qwe
           asd

user_id:3
image_path:wes

代码是:

$sqlb="SELECT * FROM image"; 
$resultb=mysqli_query($conn,$sqlb); 
if($resultb->num_rows>0) { $
    i=0; 
    while($rowb=$resultb->fetch_assoc()) { 
        $user_id[$i]['user_id']=$rowb['user_id']; 
        $user_id[$i]['image_path']=array($rowb['image_path']); 
        $i++; 
    } 
    $response['session']=TRUE; 
    $response['session_status']=TRUE; 
    $response['Msg']="successfully users data find";
    $response['user_detail']=$user_id; 
    echo json_encode($response); 
} 

1 个答案:

答案 0 :(得分:0)

使您的结果成为一个由用户ID键控的关联数组。然后,可以轻松收集相同用户ID的所有图像路径。

$result = array();
while ($rowb = $result->fetch_assoc()) {
    $userid = $rowb['user_id'];
    if (!isset($result[$userid])) {
        $result[$userid] = array('user_id' => $userid, 'image_path' => array());
    }
    $result[$userid]['image_path'][] = $rowb['image_path'];
}

生成的JSON将如下所示:

{
    "1": { "user_id": 1, "image_path": ["abc", "xyz"]},
    "2": { "user_id": 2, "image_path": ["qwe", "asd"]},
    "3": { "user_id": 3, "image_path": ["wes"]}
}