次のように JSON を介して配列を渡したいと思います。
<?php
for(i=0;i<5;i++) {
$arrayA[i] = "A" . i;
$arrayB[i] = "B" . i;
}
echo json_encode($arrayA,$arrayB);
?>
私はそれが不可能であることを知っていますが、動的にロードされた配列を渡し、その後JavaScriptでそれらを読み取る他の方法はありますか?
両方の配列を別の配列に入れるだけです。
$returnArr = array($arrayA,$arrayB);
echo json_encode($returnArr);
JS 側では、選択したライブラリでデコードし、通常の配列のように返された配列にアクセスするだけです。
echo json_encode(array('arrayA' => $arrayA, 'arrayB' => $arrayA));
配列のラッパーを作成するだけです:
for(i=0;i<5;i++) {
$arrayA[i] = "A" . i;
$arrayB[i] = "B" . i;
}
$arrayC = array($arrayA,$arrayB);
echo json_encode($arrayC);
jQuery 側:
$.getJSON('ajax/yourPhpFile.php', function(data) {
$.each(data, function(key, val) {
// each `val` is one of the arrays you passed from php
});
});
AJAX を使用して、PHP で生成された配列を返すスクリプトをロードできます。jQuery を使用している場合は、$.get() または $.getJSON() を使用して呼び出します。ここで PHP JSON マニュアルを読むことができますhttp://php.net/manual/en/book.json.phpとここで jQuery .getJson() 関数を読むことができますhttp://api.jquery.com/jQuery.getJSON/