[英]Unable to eval a string array
如何将其更改为JSON数组? 即时通讯使用评估技术,但无法正常工作。 我从我们的upx服务器获得了这种响应:
array(
'invoice' => array(
'id' => '4',
'realid' => '4',
'address_rev' => NULL,
'relation_data_id' => '3',
'contact_set_rev' => '3',
'business_data_rev' => '4',
'private_data_rev' => NULL,
// etc..
)
);
var_dump($newdata); // String
eval("\$newdata = \"$newdata\";");
var_dump($newdata); // Still stays as a string as shown above....
有什么线索吗?
泰已经!
但是它仍然是字符串的原因是因为您将其包装在对eval
的调用中的""
,并且当然将字母包装在引号中会使它成为..( 鼓声 ..)一个字符串。
eval ('$newdata = ' . $newdata . ';'); // this will do what you want
如果您想立即将其转换为json,请使用以下代码:
eval ('$newdata = json_encode (' . $newdata . ');');
var_dump($newdata); // String
eval("\$newdata = $newdata;");
var_dump($newdata); // Still stays as a string as shown above....
// eval("\$newdata = \"$newdata\";");
// ^ ^
删除双引号。 您只需将其放回字符串中...
尽管如上所述,但如果要传输PHP数组,则应使用serialize()
您可以尝试php的json_encode
。 你可以试试
$json_array = json_encode($your_array);
这将为您提供json编码的数组。 然后您可以在$ json_array上执行json_decode以取回原始内容
检查您的php是否具有JSON扩展名
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.