Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Не могу понять ошибку.


Автор: animegirl 17.9.2011, 15:08
Код:
Код

$data = array();
$data['code'] = 2;
...передача данных от одного скрипта другому...
$answer = json_decode($data,true);

switch($answer['code'])
    {
    case 0:
        {
        $errormsg = 'ааа';
        break;
        }

    case 2:
        {
        $errormsg = 'ббб';
        break;
        }
    }


Не могу понять почему, но $answer['code'] постоянно равен нулю, а $answer равен 2. Не понимаю механизма ((

Автор: Evghenusi 17.9.2011, 19:14
Код
$data = '{"code":2}';
//...передача данных от одного скрипта другому...

$answer = json_decode($data,true);

switch($answer['code'])
    {
    case 0:
        {
        $errormsg = 'ааа';
        break;
        }
    case 2:
        {
        $errormsg = 'ббб';
        break;
        }
    }
echo $errormsg;


результат: ббб
http://codepad.org/JirhBepl

Добавлено через 4 минуты и 9 секунд
или так:
Код
$data = array();
$data['code'] = 2;
$data = json_encode($data);

//...передача данных от одного скрипта другому...
...

http://codepad.org/lBIo3Meq

Автор: animegirl 18.9.2011, 01:40
Моя ошибка, данная операция проводится, более детально, скрипт А:
Код

$data = array();
$data['code'] = 2;
echo json_encode($data);

скрипт Б:
Код

$answer = json_decode(file_get_contents('урл',FALSE,stream_context_create(array('http'=>array('method'=>'POST','header'=>'Content-type: application/x-www-form-urlencoded','content'=>http_build_query($var))))),true);
switch($answer['code'])
    {
    case 0:
        {
        $errormsg = 'ааа';
        break;
        }

    case 2:
        {
        $errormsg = 'ббб';
        break;
        }
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)