【问题标题】:php return json encoded string from functionphp从函数返回json编码的字符串
【发布时间】:2017-01-02 22:06:40
【问题描述】:

我的一个功能是使用以下方法返回 json 编码的内容:

return json_encode($json, true);

现在在我的代码中,调用这个我已经尝试过使用的函数:

die(var_dump($result[0]));
die(var_dump($result["user"]));
die(var_dump($result->user));

这些都不起作用。 当我转储返回的全部内容时,输出如下:

{"usd":1,"user":10000}

【问题讨论】:

  • 为什么不单独尝试die(var_dump($result)); 看看会发生什么?
  • 这个也试过了,它返回:字符串和长度。
  • 你知道json_encode()的返回值是一个字符串,对吧?
  • 也许您正在寻找json_decode

标签: php json encode


【解决方案1】:

我假设 $result 变量是函数返回的内容。

在再次解码之前,您无法访问该 json 字符串中的属性。因此,您将无法使用 $result["user"] 或 $result->user,因为结果包含 json 字符串。

你需要先解码:

$result = json_decode($result, true);

http://php.net/manual/en/function.json-decode.php

【讨论】:

  • 工作,谢谢。怎么办,所以我可以使用 $result->user 而不是 $result["user"]?
  • 如果你希望结果是一个对象,你必须解码它输入: $result = json_decode($result); (所以没有 ,true)那么你可以说 $result->user。但是,如果您想将结果作为关联数组使用,那么您可以使用 $result['user'] 您必须按照我在上面的答案中所写的那样对其进行解码。
猜你喜欢
  • 1970-01-01
  • 2020-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-06
  • 1970-01-01
相关资源
最近更新 更多