私は以下のようなjavascript動的配列作成者コードを持っています
function createArray() {
var myArr = new Object();
myArr[0] = createSubArray('apple');
myArr[1] = createSubArray('Mango');
myArr[2] = createSubArray('Pineapple');
myArr[3] = createSubArray('Grape');
document.getElementById("a").innerHTML = JSON.stringify(myArr);
return myArr;
}
function createSubArray(name){
var arr = new Object();
elems = document.getElementsByName(name);
for (var i=0;i<elems.length;i++){
if (elems[i].checked){
arr[name] = elems[i].value;
arr['price'] = elems[i].getAttribute('data-price');
}
}
return arr;
}
array
このコードでは、値をではなくとして送信する必要がありますobject
。new Object();
to new Array();
in createArray
関数を変更してみましたがjson_decode
、次のような結果が得られました
array
0 =>
object(stdClass)[1]
public 'apple' => string 'light' (length=5)
public 'price' => string '10' (length=2)
1 =>
object(stdClass)[2]
public 'Mango' => string 'light' (length=5)
public 'price' => string '30' (length=2)
2 =>
object(stdClass)[3]
public 'Pineapple' => string 'light' (length=5)
public 'price' => string '50' (length=2)
3 =>
object(stdClass)[4]
public 'Grape' => string 'dark' (length=4)
public 'price' => string '80' (length=2)
createSubArray関数で新しいオブジェクトを変更した場合、値が取得されません。以下を確認してください。
createArray関数で新しいオブジェクトが新しい配列に変更されました
createArrayおよびcreateSubArray関数で新しいオブジェクトが新しい配列に変更されました
オブジェクトを配列に変更するにはどうすればよいですか?
親切にこれを解決するのを手伝ってください