如何編寫PHP以從中獲取數據。如何從關聯數組中獲取數據
{"room":[{"single_room":1,"twin_room":3}]}{"total_amount":[{"amount":20899}]}{"travelernum":[{"total":1}]}
我試過這樣
$BookingDetail["room"]["single_room"];
但導致了這樣的
非法串偏移 '房間'
和
非法字符串偏移量'single_room'
如何解決它。
如何編寫PHP以從中獲取數據。如何從關聯數組中獲取數據
{"room":[{"single_room":1,"twin_room":3}]}{"total_amount":[{"amount":20899}]}{"travelernum":[{"total":1}]}
我試過這樣
$BookingDetail["room"]["single_room"];
但導致了這樣的
非法串偏移 '房間'
和
非法字符串偏移量'single_room'
如何解決它。
嘗試......你需要的JSON解碼,你會得到一個PHP對象,然後就可以訪問每一個元素..
<?php
$str = '{"room":[{"single_room":1,"twin_room":3}]}{"total_amount":[{"amount":20899}]}{"travelernum":[{"total":1}]}';
$json = json_decode($str);
echo "<pre>";
print_r($json);
echo "</pre>";
echo $json->room->single_room;
順便說一句,我想你的JSON是無效的。您可以在http://jsonlint.com/
它不會工作,因爲那些3 json的連接 –
不是一個有效的JSON,將無法正常工作。它是3 json編碼數據的組合 –
中查看此字符串您使用的字符串看起來像JSON,但它不檢出爲有效。見JSONLint.com ...編輯它,使之有效(單線)...
{"room": [{"single_room": 1, "twin_room": 3}], "total_amount": [{"amount": 20899}], "travelernum": [{"total": 1 }]}
OR(多線)...
{
"room": [{
"single_room": 1,
"twin_room": 3
}],
"total_amount": [{
"amount": 20899
}],
"travelernum": [{
"total": 1
}]
}
如果是這種格式的所有字符串在,您可以通過使用操縱他們爲有效的JSON先......
$original_string = '{"room":[{"single_room":1,"twin_room":3}]}{"total_amount":[{"amount":20899}]}{"travelernum":[{"total":1}]}';
$new_string = str_replace("}{", ",", $original_string); // replace }{ with ,
一旦你的字符串是有效的JSON格式,轉換成PHP數組,因爲很簡單,使用這樣的事情...
$BookingDetail = json_decode($new_string, true); //true param gets assoc array
我測試的所有代碼的上方和它works.See PHP json_decode()函數爲參考更詳細地對轉換JSON字符串PHP陣列。
http://php.net/manual/en/function.json-decode.php
這不是一個數組。 – AbraCadaver
json_decode()和var_dump($ var) – Roy
這些是3 json的連接,你如何獲得這些?你有不同的變量嗎? –