Object having a value var $error_code="100";
I can set this value inside a function as
$this->error_code=$simpleXml->error_code; // eg:214
I can create its object and print value using json_encode as
echo $obj->error_code; //print value 214
$code=$obj->error_code;
$set=array("error_code" => $code,"message" =>"topup failed");
echo json_encode($set);
I got response as
214 {"error_code":{"0":"214"},"message":"topup failed"}
but I expect output as
{"error_code":"214","message":"topup failed"}
what is the actual problem for getting
{"0":"214"}
on output even if $code print value 214 ?
Viral
3,7531 gold badge21 silver badges34 bronze badges
2 Answers 2
Change this line,
$code=$obj->error_code;
to
$code=$obj->error_code->0;
Also remove
echo $obj->error_code;
to get
{"error_code":"214","message":"topup failed"}
answered Jun 29, 2015 at 14:17
Viral
3,7531 gold badge21 silver badges34 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
Nidhin
It printed as {"error_code":{},"message":"topup failed"}
Instead of :
echo $obj->error_code; //print value 214
$code=$obj->error_code;
$set=array("error_code" => $code,"message" =>"topup failed");
echo json_encode($set);
Just use:
$code = $obj->error_code;
echo json_encode(array("error_code" => $code,"message" =>"topup failed"));
Remove the other lines, they are unnecessary.
Edit: Add the [0] after $obj->error_code
answered Jun 29, 2015 at 14:27
Michael Christensen
19511 bronze badges
lang-php
$obj?echostatement, as it is producing output.