我有以下一段代碼:json_decode不工作對我的變量,但就其內容
$param = $params[0];
var_dump($param->getValue());
$test = json_decode($param->getValue());
var_dump($test);
我第一次的var_dump返回如下:
string(133) ""[{\"lang_id\": \"1\", \"naam\": \"dsfsdfds\", \"mail\": \"dsfdsfs\"}, {\"lang_id\": \"1\", \"naam\": \"dfsd\", \"mail\": \"dfds\"}]""
的Seconde系列之一返回以下:
string(107) "[{"lang_id": "1", "naam": "dsfsdfds", "mail": "dsfdsfs"}, {"lang_id": "1", "naam": "dfsd", "mail": "dfds"}]"
和值保存在我的數據庫是這樣的:
"[{\"lang_id\": \"1\", \"naam\": \"dsfsdfds\", \"mail\": \"dsfdsfs\"}, {\"lang_id\": \"1\", \"naam\": \"dfsd\", \"mail\": \"dfds\"}]"
現在我的問題是:爲什麼它在json_decode之後返回一個字符串? 我絕對不知道我在做什麼錯了,奇怪的是,如果我替換該變量的實際值的變量,則解碼是正確的:
$test = json_decode("[{\"lang_id\": \"1\", \"naam\": \"dsfsdfds\", \"mail\": \"dsfdsfs\"}, {\"lang_id\": \"1\", \"naam\": \"dfsd\", \"mail\": \"dfds\"}]");
回報
array(2) {
[0]=> object(stdClass)#3255 (3) {
["lang_id"]=> string(1) "1"
["naam"]=> string(8) "dsfsdfds"
["mail"]=> string(7) "dsfdsfs"
}
[1]=> object(stdClass)#3256 (3) {
["lang_id"]=> string(1) "1"
["naam"]=> string(4) "dfsd"
["mail"]=> string(4) "dfds"
}
}
我做錯了什麼?