【问题标题】:how to loop or display json data using php?如何使用 php 循环或显示 json 数据?
【发布时间】:2020-06-08 20:25:26
【问题描述】:

我想使用我正在研究但没有工作的 PHP 显示来自 JSON 的技能和图像

错误信息:

注意:第 27 行 C:\xampp\htdocs\test\view.php 中的数组到字符串转换

注意:第 32 行 C:\xampp\htdocs\test\view.php 中的数组到字符串转换

数据.json

{
    "UserData": [

    {
        "id": "name",
        "fname": "Joey",
        "lname": "Tulang",
        "age": "29",
        "gender": "Male",
        "skills": [ "HTML", "CSS", "JavaScript" ],
        "image": [ "html.jpg", "css.jpg", "js.jpg" ]
    },
    {
        "id": "2",
        "fname": "Angelica",
        "lname": "Balce",
        "age": "20",
        "gender": "Female",
        "skills": [ "C++", "Python", "PHP"],
        "image": [ "c++.jpg", "python.jpg", "php.jpg" ]
    },
    {
        "id": "3",
        "fname": "Mj",
        "lname": "King",
        "age": "21",
        "gender": "male",
        "skills": [ "Photoshop", "Figma", "Corel Draw"],
        "image": [ "photoshop.jpg", "figma.jpg", "cdraw.jpg" ]
    }       

    ]   
}

index.php

<!DOCTYPE html>
<html>
<head>
    <title>Users</title>
</head>
<body>

<?php

$jsondata = file_get_contents("data.json");
$json = json_decode($jsondata, true);
$output = "<ul>";

foreach ( $json['UserData'] as $display ) {
  $output .="<li>" .$display['fname']. " <a href='view.php?id=".$display['id']."'>View User Data</a></li> </br>";
}

$output .= "</ul>";

echo $output;

?>

</body>
</html>

view.php

<?php
$jsondata = file_get_contents("data.json");
$json = json_decode($jsondata, true);

$key = array_search((int) $_GET['id'], array_column($json['UserData'], 'id'));

// if $key false, was not found, presume it was...

$user = $json['UserData'][$key];
?>
<!DOCTYPE html>
<html>
<head>
    <title>View User Data</title>
</head>
<body>

    <!-- Display User Data Here -->

    <p>First Name: <?= $user['fname'] ?></p>
    <p>Last Name: <?= $user['lname'] ?></p>
    <p>Age: <?= $user['age'] ?></p>
    <p>Gender: <?= $user['gender'] ?></p>

    <p>Skills</p>
    <ul>
        <?= "<li>" .$user['skills']. "</li>" ?>
    </ul>

    <p>Image</p>

        <?= "<imge src='image/" .$user['image']. "'/>" ?>


</body>
</html>

view.php(输出

https://ibb.co/fk4LPLG

【问题讨论】:

    标签: php arrays json loops


    【解决方案1】:

    因为您的$user['image'] 不是字符串,所以它是数组。 尝试打印您的$user['image'],您就会知道。

    ps:使用 foreach 代替您的数组。

    【讨论】:

      【解决方案2】:

      答案:

       foreach ($user['image'] as $value)
       {
          echo "<img src='".$value."'>";
       }
      

      【讨论】:

        猜你喜欢
        • 2018-06-24
        • 2015-06-15
        • 2018-07-04
        • 2015-11-17
        • 1970-01-01
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多