我目前正在尝试学习JSON,目前它正在扼杀我的谚语。
使用普通变量,我能够很好地编码,然后回显以查看JSON字符串。
但是我想编码一个对象,但它不起作用:
Class tariff
{
var $preset_name;
var $name;
var $net;
var $inclusive;
var $length;
var $data;
function __construct()
{
$preset_name = "Orange-1gb-ECL";
$name = array ("1312" => "Orange 1gb Eclipse");
$net = array ("12312" => "Orange");
$inclusive = array ("1312" => "1GB");
$length = array ("12312" => "12 Months");
$data = array ("12312" => "12p per mb");
}
}
$tariff = new tariff();
$tariff = json_encode($tariff);
echo $tariff;
return 0;
我的输出是:
{ “preset_name”:空, “姓名”:空, “净”:空, “包容”:空, “长度”:空, “数据”:空}
我曾尝试谷歌搜索并在这里搜索但找不到我的答案!
帮助我欧比万,你唯一的希望!
答案 0 :(得分:2)
哦,你在构造函数中有一些错误的用法,
应该是这样的: -
$this->preset_name = "Orange-1gb-ECL"; <-- assign to object property
而不是
$preset_name = "Orange-1gb-ECL"; <-- assign local variable
答案 1 :(得分:2)
阐述另一个答案,
$preset_name = "Orange-1gb-ECL";
成员函数中的实际上是将局部变量初始化为该函数的范围。 $ this 关键字是对当前类的当前实例的引用,用于访问类 - 实例范围中的属性等构造。