javascript 変数またはオブジェクトとして表現する必要がある php の 2 次元配列があります。javascriptオブジェクトとして使用するためにjsonのエンコードとデコードを調べましたが、javascriptの変換をループしたいので、これは意味がありません。php 配列を JavaScript の 2 次元配列として表現することも、JavaScript の多次元配列が複雑であるため、あまり意味がありません。このようなことを行う標準的な方法は何ですか? 私が言ったように、結果をループできる必要があります。PHP 配列は、1 番目の次元に数値を保持し、2 番目の次元にページ名を保持します。各ページ名に関連付けられたチェック ボックスに ID を割り当てる効率的な方法を見つけようとしています。チェックボックスがオンになっているかどうかにかかわらず、javascript変数をループして各IDをチェックできるようにしたい。
2 に答える
4
JSON はこれを行うのに最適な方法です。Javascript Object Notationは、任意の値、オブジェクトなどを表現するための単純な Javascript 構文です。PHP の値を Javascript に転送するのに最適です。
<?php $arr = array('foo', 'bar', 'baz', 42); ?>
<script type="text/javascript">
var arr = <?php echo json_encode($arr); ?>;
</script>
これは、次のように入力することと同じです。
<script type="text/javascript">
var arr = ["foo", "bar", "baz", 42];
</script>
json_encode
ループを実行したり、通常 Javascript 配列で行うようなことをしたりできる完璧な Javascript 配列を提供します。必要な配列/オブジェクト/値を構築するだけです。
注意が必要な点は、連続して数値的にインデックス付けされた配列は JSON 配列になりますが、それ以外はすべて JSON オブジェクトになるということです。例えば:
array('foo', 'bar') -> ["foo", "bar"]
array(0 => 'foo', 1 => 'bar') -> ["foo", "bar"]
array(1 => 'foo', 0 => 'bar') -> { "1" : "foo", "0" : "bar" }
于 2012-11-25T21:01:13.833 に答える
0
for..in
オブジェクトのプロパティをループするには、ループを使用する必要があります。例えば:
var obj = {
"foo" : "bar",
"baz" : [10, 20, 30]
};
for(var key in obj) {
console.log(key); // current key
console.log(obj[key]); // current value
}
于 2012-11-26T12:12:30.500 に答える