我試圖使用How to search through a JSON Array in PHP中給出的建議來根據.json文件中的國家/地區代碼查找國家/地區名稱。PHP-json_decode given NULL
我有一個文件,其中countrycodes.js
的格式如下:
countries = [
{code: "GB", name: "United Kingdom"},
{code: "AF", name: "Afghanistan"},
// ...
{code: "ZM", name: "Zambia"},
{code: "ZW", name: "Zimbabwe"}
];
變量,countries
必須有,因爲應用程序的一部分依賴於這一點。
在PHP中我已經做了以下內容:
$str = file_get_contents('countrycodes.js');
var_dump($str);
它輸出的字符串:
string(9642) "countries = [
{code: "GB", name: "United Kingdom"},
{code: "AF", name: "Afghanistan"},
// ...
然而,當我嘗試json_decode
它,下面給出NULL
:
$str = file_get_contents('countrycodes.js');
$json = json_decode($str);
var_dump($json);
我不知道爲什麼這是因爲json_decode
接受字符串,這是我上面發佈的鏈接上給出的內容?我嘗試刪除JavaScript變量(countries =
),但這沒有什麼區別。
最終我想要做的是能夠給PHP一個國家code
如'GB',並讓它返回適當的name
例如'英國'。我對此的理解是json_decode
部分將需要工作,這是可能的。
任何幫助表示讚賞。
作爲參考,正在使用countries =
的原因是基於這裏給出的建議填充一個<select>
元素:Populating select using ajax json array
'countrycodes.js'是Javascript,而不是JSON ... –
好的謝謝。有什麼方法可以轉換它,而不必將其存儲在兩個單獨的文件中? – Andy
沒有辦法,這是理智的。 –