[英]Parse php associative array to javascript object
我想擁有一個“國家”對象的javascript數組,該對象在此階段將僅具有兩個屬性:name和geonameId。
我從這樣的數據庫中獲得這些國家:
$sql = "SELECT name, geonameId FROM countryinfo";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$rows = array ();
while($row = $result->fetch_assoc()) {
$country["geonameId"]);
$rows[$row['geonameId']] = $row['name'];
}
}
$conn->close();
?>
然后,我有了這個javascript腳本,它將php數組變成了javascript:
<script type="text/javascript">
var allCountries = <? echo json_encode($rows); ?>;
console.log(allCountries);
</script>
我只想將鍵/值對的數組轉換為對象的數組,以便可以更輕松地訪問將來可能添加的新屬性。 目前,javascript數組以如下方式登錄到控制台:
Object {0: "Netherlands Antilles", 49518: "Rwanda", 51537: "Somalia", 69543: "Yemen", 99237: "Iraq", 102358: "Saudi Arabia", 130758: "Iran", 146669: "Cyprus", 149590: "Tanzania", 163843: "Syria", 174982: "Armenia", 192950: "Kenya", 203312:...
如何將鍵/值對的數組從javascript對象轉換為數組(通過重構,我將添加一個Country類,並且該數組將包含Country對象)。
我的相關代碼已更改為此,以使其正常工作:
$sql = "SELECT name, geonameId FROM countryinfo";
$result = $conn->query($sql);
$allCountries = [];
if ($result->num_rows > 0) {
$rows = array ();
while($row = $result->fetch_assoc()) {
$country = array(
"name" => $row['name'],
"geonameId" => $row['geonameId']
);
$allCountries[] = $country;
}
}
$conn->close();
?>
<script type="text/javascript">
var allCountries = <?php echo json_encode($allCountries, JSON_PRETTY_PRINT) ?>;
console.log(allCountries)
</script>
在PHP端簡單地序列化為JSON,然后在Javascript中執行JSON.parse
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.