当前位置: 首页 > 知识库问答 >
问题:

致命错误:无法使用stdClass类型的对象作为数组-无法访问JSON

海叶秋
2023-03-14

我试图循环使用嵌套的JSON并打印结果,但在尝试时出现上述错误。

<?php

        $json = json_decode($orderItems);

        foreach ($json as $key) {

            ?><p>Product: <?php echo $json[$key] -> {'name'}; ?> | Quantity: <?php echo $json[$key] -> {'quantity'}; ?></p><?php

        }

    ?>

打印($json)

stdClass对象([Tom]=

共有2个答案

赵昊阳
2023-03-14

foreach循环不是这样工作的,php有不同的语法。。。您调用的$key实际上是数组中的每个元素。

您正在寻找的可能是:

foreach($json as $element) {
    ?><p>Product: <?php echo $element['name']; ?> | Quantity: <?php echo $element['quantity']; ?></p><?php
}
乜飞航
2023-03-14

您将$json变量作为关联数组和对象的混合引用。请查看以下代码:

<?php

    // return an assoc array
    $json = json_decode($orderItems, true);

    foreach ($json as $orderItem) {
        echo '<p>Product: ' . $orderItem['name'] . ' | ';
        echo 'Quantity: ' . $orderItem['quantity'] . '</p>';
    }

?>
 类似资料:
  • 问题内容: 我收到错误消息: 第183行上的“致命错误:无法将stdClass类型的对象用作数组” 从此代码: 有人知道上面的代码有什么问题吗?还是这个错误是什么意思? 问题答案: CodeIgniter将结果行作为对象而不是数组返回。从用户指南中: 结果() 此函数以 对象 数组或失败时 为空数组的形式 返回查询结果。 您必须使用以下符号访问字段:

  • 问题内容: 当我注意到我的一个模组给我这个错误时,我将要打开我的网站: 致命错误:无法在第303行的/var/www/vbsubscribetouser.php中将mysqli_result类型的对象用作数组 我去了303行,这就是我发现的内容: 这是从第303行开始的所有代码: 我不是php编码方面的专家,因此在打开网站之前会有所帮助。任何帮助/建议吗? 非常感谢你! 问题答案: 无法将类型为m

  • 我试图在模板文件中放置WordPress菜单。我发现使用wp_nav_菜单不舒服,因为它输出的标记与我的静态HTML模板不兼容。我知道我可以使用定制的menu walker类来修改wp_nav_菜单的标记。但是,我只想使用菜单名及其对应的url,并将其放在我的模板中。为此,我使用此函数获取菜单的所有属性/属性的数组。 我该怎么做? 我目前正在努力处理这些代码行 这将生成以下错误: 致命错误:未捕获

  • 我的主要问题是我得到一个错误,说明:在第80行: 第80行是

  • 问题内容: 我是新手,我已经执行了以下代码。 我遇到了以下错误。可能是什么错误? 问题答案: 您以错误的方式访问属性。使用语法,可以使用$ my_value中的值名称设置属性。你想要的是 是相同的 为了解决您的示例中的一些问题,下面的代码是一个更好的方法 这样可以确保在调用set_value时,my_value不会将其类型更改为字符串或其他类型。但是您仍然可以直接设置my_value的值,因为它是

  • 问题内容: 对象a2的类型为A,但引用了类C的对象。因此,a2应该能够访问m3()。但是,为什么不发生呢?如果在类A中定义了m3()方法,则代码可以正常运行 问题答案: 这意味着您只能访问Class的成员和Class的实现(如果有的话)。 现在m3不是的成员。清楚吗?