首页 > 解决方案 > 来自json的php多维数组

问题描述

API的请求示例如下:

{
   "channel":"sms",
   "source":"+1xxxxxxxx6",
   "destination":[
      "+1xxxxxxxx"
   ],
   "content":{
      "text":"Hey, Peter. It's Rick.",
      "location":{
         "longitude":"XX.9716",
         "latitude":"XX.5946",
         "label":"California",
         "address":"Test Address"
      },
      "media":{
         "url":"https://media.example.com/file",
         "caption":"your media file"
      }
   },
   "events_url":"https://events.example.com/message"
}

作为一个新手,我在设置setContent时遇到了困难,我尝试了以下操作并导致错误:

    ->setChannel("XXXXXX") 
    ->setSource("+XXXXXXX")  
    ->setDestination(["+1XXXXXXXX"])
    ->setContent(["media"]["url"] => "https://Big_buck_bunny_poster_big.jpg",
"caption" => "My media file test"]) 
    ->setEventsUrl("example.com/events");

错误如下: Error: PHP Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ']'in

->setContent(["text" => "This is test message 3"]) 工作正常..

我知道这是基本的东西,但作为一个新手,我无法弄清楚。请求帮助。

更新: 文档中的错误

标签: php

解决方案


unexpected '=>' (T_DOUBLE_ARROW)错误在于["media"]["url"]

["media"]["url"] => "https://Big_buck_bunny_poster_big.jpg",
"caption" => "My media file test"]

你必须初始化一个数组,比如

[
    "text" =>  "test text",
    "media" =>  [
        "url" => "https://Big_buck_bunny_poster_big.jpg",
        "caption" =>  "My media file test"
    ]
] 

推荐阅读