我正在使用PHP并尝试创建一个类似于这样的数组:
{
"aps" : {
"alert" : "Hey"
},
"custom_control" : {
"type" : "topic_comment",
"object":{
"topic_id":"123",
"topic_section":"test"
"plan_id":"456"
}
}
}
到目前为止,我有类似
的内容$message = array('aps'=>array('alert'=>$some_variable));
但我很困惑如何在此之后将“custom_control”的值放入此数组中。任何人都可以建议如何从我现有的PHP?
谢谢!
答案 0 :(得分:5)
这是你的意思吗?
<?php
$some_variable = "Hey";
$myArray = array(
"aps" => array(
"alert" => $some_variable
),
"custom_control" => array(
"type" => "topic_comment",
"object" => array(
"topic_id" => "123",
"topic_section" => "test",
"plan_id" => "456"
)
)
);
?>
答案 1 :(得分:3)
这是一种发现您需要做的简单方法。
假设您已将JSON分配给$ json_object,请使用:
var_export(json_decode($json_object, true));
答案 2 :(得分:1)
如果您更习惯在JSON中构建对象,则可以使用php中包含的JSON解析器。此外,JSON定义了Javascript对象,而不是数组(尽管您可以使用类似{myArray : [1,2,3]}
如果你想要的话,试试这个: http://php.net/manual/en/function.json-decode.php
答案 3 :(得分:1)
如果您已经创建了初始消息数组(根据您的问题),那么您将执行类似的操作。
$message["custom_control"] = array(
"type" => "topic_comment",
"object" => array(
"topic_id" => "123",
"topic_section" => "test",
"plan_id" => "456"
)
)
您可以通过这种方式在$ message中创建所需的任何节点。
答案 4 :(得分:1)
您尝试创建的不是数组,而是对象。
尽量不要将它构建为数组而是构建对象。
$obj = new stdClass();
$obj->aps = new stdClass();
$obj->aps->alert = 'Hey';
$obj->custom_control = new stdClass();
$obj->custom_control->type = 'topic_comment';
$obj->custom_control->object = new stdClass();
$obj->custom_control->object->topic_id = '123';
$obj->custom_control->object->topic_section = 'test';
$obj->custom_control->object->plan_id = '456';
$json = json_encode($obj);
答案 5 :(得分:1)
$array = array();
$array['aps'] = "alert";
$array['custom_control'] = array();
$array['custom_control']['type'] = "topic_comment";
$array['custom_control']['object'] = array('topic_id' => '123',
'topic_section' => 'test',
'plan_id' => '456');
答案 6 :(得分:1)
我认为你需要这样的东西:
$message =array( "aps" =>array("alert"=>"Hey"),
"custom_control" => array(
"type" => "topic_comment",
"object" => array(
"topic_id"=>"123",
"topic_section"=>"test",
"plan_id"=>"456"
)
)
);