[英]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.