【问题标题】:How can I echo inside this array of values? [duplicate]如何在这个值数组中回显? [复制]
【发布时间】:2012-10-11 02:23:45
【问题描述】:

可能重复:
Able to see a variable in print_r()'s output, but not sure how to access it in code

$response = $amazonEcs->category('DVD')->responseGroup('Large')->search("Matrix Revolutions");
var_dump($response);

我使用的是 var_dump($response),现在我想知道如何获取 Item 的值从 0 到 9。

【问题讨论】:

  • Insted of a picture ... 为什么不粘贴 var_dump 输出??
  • @Baba,这是 var_dump 输出
  • @SuiGo,你不应该张贴你的代码图片。只需复制并粘贴文本即可。

标签: php arrays stdclass


【解决方案1】:

Item 嵌套在几个对象中。假设您的外部对象是$response,您正在寻找:

$response->Items->Item[0]

items 是对象stdClassitem 是该对象的属性。 item 本身是一个数组,具有您要查找的键 0-9

每个数组元素本身就是一个对象stdClass,因此请使用-> 运算符访问其属性(我们在您的输出中看不到)。

$response->Items->Item[0]->someProperty
$response->Items->Item[9]->someOtherProperty

编辑:将 item 更改为 Item,因为它在示例输出中大写。

【讨论】:

  • 我可以回显 $response->items->item[0] 吗?
  • 我尝试回应它说“可捕获的致命错误:stdClass 类的对象无法转换为字符串”
  • @SuiGo 不是直接的,因为item[0] 不是字符串。它是一个对象。你可以var_dump($response->items->item[0] 看看里面有什么。它有自己的附加属性(如我上面示例中的someProperty, someOtherProperty),您需要访问这些属性。
【解决方案2】:

使用“->”进入对象,使用[]进入数组。

所以,你正在寻找

  $response->items->item

使用 foreach 循环:

 foreach ($response->items->item as $item)
  {

            // Process $item, which will be $item[0], $item[1].. in each iteration.
   }

【讨论】:

    猜你喜欢
    • 2017-08-30
    • 2012-05-22
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多