PHP объект json_encode, дающий значения NULL при отображении? - PullRequest
0 голосов
/ 15 декабря 2011

В настоящее время я пытаюсь выучить 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": нулевой, "Имя": нулевой, "чистый": нулевой, "включено": нулевой, "длина": нулевой, "данные": нулевая}

Я пытался поискать и поискать здесь, но не могу найти мой ответ!

Помоги мне, Оби Ван, твоя единственная надежда!

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

Обрабатывая другой ответ,

$preset_name = "Orange-1gb-ECL"; 

в функции-члене фактически инициализирует локальную переменную в области действия этой функции.Ключевое слово $ this - это ваша ссылка на текущий экземпляр вашего текущего класса с целью доступа к конструкциям, таким как свойства в области экземпляра класса.

2 голосов
/ 15 декабря 2011

О, у вас неправильные выражения в конструкторе,

Должно быть так: -

$this->preset_name = "Orange-1gb-ECL"; <-- assign to object property

Вместо

$preset_name = "Orange-1gb-ECL"; <-- assign local variable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...