簡體   English   中英

PHP數組到JavaScript與json_encode更改數組

[英]php array to javascript with json_encode changes the array

我在尋找一種將php數組轉換為javascript數組的方法。

這應該使用json_encode如下完成。 將PHP數組傳遞給JavaScript函數

我用我的代碼做到了這一點,但是javascript沒有給我原始的數組項,而是給了我數組的索引號,並且數據似乎消失了。

這是PHP代碼。

//creates array.
$ar = array("item 1","item2","etc");

foreach($ar as $item){
    echo $item;
}//prints the array items.(so item1 item2 etc)

這是JavaScript代碼。

//Supposibly turns the php array into a js array.
var ar = <?php echo json_encode($ar); ?>;

for(var x in ar){
    alert(x);
}//alerts the indexes and not the array items.(so 0 1 2)

我是否錯過了一些重要的事情,因為在我搜索的所有地方都說json_encode應該可以工作。 但是對我來說卻不是。

我確實知道數組已連接,因為如果我將一個項目添加到“ $ ar”,那么“ var ar”也會有一個額外的項目。

JavaScript中的foreach語法並非用於數組,而是用於對象。

for (var key in obj)

為您提供對象的鍵,而不是各個值。 為了訪問這些,您必須使用obj[key] 但是,應該使用如下通用的for循環來迭代JavaScript數組:

var length = arr.length;

for (var i = 0; i < length; i++) {
    // Do stuff with arr[i] here
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM