【问题标题】:Display multiple Image on Curl Api on a each account with different a API url在具有不同 API url 的每个帐户上的 Curl Api 中显示多个图像
【发布时间】:2021-10-07 01:25:30
【问题描述】:

我正在尝试在不同的 API URL 上显示每个帐户上的多个图像! 在显示图像的每个帐户上 Bob 在他的帐户上有 4 张图片,它将全部显示在数据上! 添加整数时我只能获取 1 张图片!

例子:

$image = $data["result"][THIS IS INTEGER]["image"];
$image = $data["result"][THIS IS INTEGER]["image"];
$image = $data["result"][THIS IS INTEGER]["image"];
$image = $data["result"][THIS IS INTEGER]["image"];

如何使用 curl 上的数组获取每个图像

下图是我想要的结果

这是我制作的示例代码

 <?php
 
 $query = 
    "SELECT 
    * 
    FROM 
    user 
    ";
    
    $result = mysqli_query($conn, $query);
    $total=0;
    while($row = mysqli_fetch_array($result))
    {
    $id= $row['id'];
    $age = $row['age'];

        //* first API//
        $url = 'https://api.sample/.$id;
        $ch=curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $r=curl_exec($ch);
        curl_close($ch);
        $data = json_decode($r, true);
        $email = $data[email];
        
        
        This is the image part
        //* second API //
        $url = 'https://api.second-sample/.$id;
        $ch=curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $r=curl_exec($ch);
        curl_close($ch);
        $data = json_decode($r, true);
        $image = $data["result"][ THIS INTEGER ]["image"];
        
        ?>
        
        <?php ECHO the DATA HERE ?>
        
        
        
        <?php } ?>

第二个 API 样本 DATA 结果

{"total:4","results":
[
"id":"0"{
"id":"32",
"name-of-image":"lovelife",
"image":"http://sample-storage-image.com/image1.png"
}
"id":"1"{
"id":"52",
"name-of-image":"forrest",
"image":"http://sample-storage-image.com/image2.png"
}
"id":"3"{
"id":"2",
"name-of-image":"sand",
"image":"http://sample-storage-image.com/image3.png"
}
"id":"3"{
"id":"5",
"name-of-image":"water",
"image":"http://sample-storage-image.com/image4.png"
}
]
}

【问题讨论】:

    标签: php arrays api curl php-curl


    【解决方案1】:

    假设您正确地遍历每个图像,您只会犯一个重大错误!

    如果将其保存到 $image = ... 每次获取下一张图片时都会覆盖 $image...

    你应该:

    $image[] = $data["result"][ THIS INTEGER ]["image"];
    

    $image[ THIS INTEGER ] = $data["result"][ THIS INTEGER ]["image"];
    

    然后显示每个:例如:

    print_r($image[0]);
    

    print_r($image[1]);
    

    print_r($image[ THIS INTEGER ]);
    

    (我假设这个 INTEGER 是唯一的!)

    etc' 在每个正确的行..

    这是一个用户......但是有多个图像 - 这需要和数组......:)

    【讨论】:

    • 我会试试这个! :D
    • 第一个卷曲和第二个卷曲彼此没有冲突!还是我需要重命名每个变量?
    • 我试过这个但不能正常工作 foreach ($data as $r) { echo $r["result"][0]["image"]; }
    • foreach($data["result"] as $r){echo r['image];)
    • 另外,如果这样做,请考虑也这样做 $image[$row['name']][] =
    猜你喜欢
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2017-08-06
    • 1970-01-01
    • 2021-07-16
    相关资源
    最近更新 更多