首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PHP数组转换为var_dump

将PHP数组转换为var_dump
EN

Stack Overflow用户
提问于 2018-05-24 09:46:56
回答 1查看 3.8K关注 0票数 0

一直在寻找解决办法。找不到所以我的最后一招当然是在这里。

我正在使用来自MessageBird的API。代码的目的是列出一个消息列表。

我的守则:

代码语言:javascript
复制
require_once(__DIR__ . '/messagebird/vendor/autoload.php');
$MessageBird = new \MessageBird\Client('XXXXX'); // Set your own API access key here.
try {
$MessageList = $MessageBird->messages->getList(array ('offset' => 0, 'limit' => 30));
  //var_dump($MessageList);

} catch (\MessageBird\Exceptions\AuthenticateException $e) {
// That means that your accessKey is unknown
  echo 'wrong login';
} catch (\Exception $e) {
  var_dump($e->getMessage());
}

$json = json_decode($MessageList, true);

foreach($json as $item) {
  echo $item['body'];
}

这是数据"var_dump“的输出:

代码语言:javascript
复制
object(MessageBird\Objects\BaseList)#147 (6) {
  ["limit"]=>
  int(30)
  ["offset"]=>
  int(0)
  ["count"]=>
    int(24)
  ["totalCount"]=>
  int(24)
  ["links"]=>
  object(stdClass)#48 (4) {
    ["first"]=>
    string(56) "https://rest.messagebird.com/messages/?offset=0&limit=30"
    ["previous"]=>
    NULL
    ["next"]=>
    NULL
    ["last"]=>
    string(56) "https://rest.messagebird.com/messages/?offset=0&limit=30"
  }
  ["items"]=>
  array(24) {
    [0]=>
    object(MessageBird\Objects\Message)#148 (16) {
      ["id":protected]=>
      string(32) "XXX"
      ["href":protected]=>
      string(70) 
"https://rest.messagebird.com/messages/XXX"
      ["direction"]=>
      string(2) "mt"
      ["type"]=>
      string(3) "sms"
      ["originator"]=>
      string(5) "Test Sender"
      ["body"]=>
      string(416) "Hey Blah Blah Test Message."
      ["reference"]=>

我不知道如何将数据转换成JSON,这样我就可以使用foreach代码来分离记录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-24 10:23:27

我不知道如何将数据转换成JSON,这样我就可以使用foreach代码来分离记录。

我认为这里有一个相当严重的误解。如果您想对某些数据进行foreach,则不需要var_dump或JSON,更不用说两者都需要--您只需要这些数据。

var_dump是一种在调试过程中向程序员显示结构的函数;它不打算可逆,也不会在生产代码中使用。

JSON是一种序列化格式,用于将数据表示为文本,这样您就可以将数据从一个程序传输到另一个程序。您不需要在任何地方传输对象,所以不需要JSON。

你想要的是:

代码语言:javascript
复制
try
{
    $MessageList = $MessageBird->messages->getList(array ('offset' => 0, 'limit' => 30));
    foreach($MessageList->items as $item) {
      echo $item->body;
    }
}
// Your exception handling here - note that you can't do anything with `$MessageList` if an exception happened; it won't exist.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50506132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档