我在從 php 調(diào)用 javascript 變量時(shí)遇到問(wèn)題json_encode()。在 javascript 中,我無(wú)法獲得 array.length 因?yàn)橛袠?biāo)簽1:。我想要[res_tmp]數(shù)組獲取像[sample]數(shù)組一樣的格式(沒(méi)有標(biāo)簽數(shù)字?jǐn)?shù)組,例如:1:,2:)。感謝您的幫助。回聲(假):res_tmp: {0: null,1: {name: "AAA",sort: 1},2: {name: "DDD",sort: 2}, ...回聲(我希望):res_tmp: { null,{name: "AAA",sort: 1},{name: "DDD",sort: 2}, ...這是我的代碼: $tmp = [ [ "name" => "1.AAA", "sort" => 1, ],[ "name" => "10.CCC", "sort" => 10, ],[ "name" => "11.BBB", "sort" => 11, ],[ "name" => "2.DDD", "sort" => 2, ],[ "name" => "3.EEE", "sort" => 3, ], ];for ($i=0; $i < count($tmp); $i++) { $res_tmp[ $tmp[$i]['sort'] ] = $tmp[$i];}$nul = [0,4,5,6,7,8,9,12];for ($j=0; $j < count($nul); $j++) { $res_tmp[ $nul[$j] ] = null;}$val = [ "sample" => $tmp, "res_tmp" => $res_tmp, ];echo json_encode($val);// echo "<pre>",print_r($val),"</pre>";
1 回答

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
這是一個(gè)javascript方法。
您在這里擁有的不是數(shù)組而是JSON 字典,它是一個(gè)對(duì)象。您可以使用 Object.keys 在 JavaScript 中獲取它的長(zhǎng)度:
let keys = Object.keys(res_tmp);
這將為您提供鍵數(shù)組。您可以迭代它并訪(fǎng)問(wèn)這些值。像這樣:
let res_tmp = {
? 0: null,
? 1: {
? ? name: "AAA",
? ? sort: 1
? },
? 2: {
? ? name: "DDD",
? ? sort: 2
? }
}
let keys = Object.keys(res_tmp);
let arr = [];
for (let j=0;j<keys.length;++j)
{
? let item = res_tmp[keys[j]];
? arr.push(item);
}
現(xiàn)在arr擁有你想要的回聲。
- 1 回答
- 0 關(guān)注
- 165 瀏覽
添加回答
舉報(bào)
0/150
提交
取消