我有一个php多维数组,我发送到jquery但我需要自动创建数组。
所有示例都显示如下设置手动数组:
var theme_name = current_theme_meta.theme_name,
theme_version = current_theme_meta.version,
data0A = theme_metadata[0].dataA,
data0B = theme_metadata[0].dataB,
data1A = theme_metadata[1].dataA,
data1B = theme_metadata[1].dataB;
current_theme_meta和theme_metadata是我构建的php数组中的键,我通过wp_localize_script()(一个wordpress函数)推送到jQuery。
theme_name,version,dataA和dataB是数组中的键值。
我的数组看起来像这样:
[current_theme_meta] => Array
(
[theme_name] => A Cool Theme
[version] => 2.1.1
)
[theme_meta] => Array
(
[0] => Array
(
[dataA] => foo
[dataB] => bar
)
[1] => Array
(
[dataA] => this
[dataB] => that
)
)
如何在jquery中创建数组?我在每个循环等之间感到困惑。
答案 0 :(得分:1)
快速简便的方法是使用json_encode将PHP数组编码为JSON,然后将其传递给JavaScript。
一个例子是:
<?php
//Create & populate your PHP array
$my_php_array = array(
'foo' => 'bar',
'test' => array(
'abc' => '123'
)
);
?>
<script type="text/javascript">
var my_javascript_object = JSON.parse("<?php echo json_encode($my_php_array); ?>");
</script>
之后,您可以这样访问您的JavaScript对象:
<script type="text/javascript">
alert(my_javascript_object.foo);
alert(my_javascript_object.test.abc);
</script>
答案 1 :(得分:1)
$json = json_encode($your_array);
然后访问它,并在您的Javascript中解析它:
var yourArray = JSON.parse('<?php echo $json ;?>');
类似于XML的JSON非常适合在语言之间交换数据,因为大多数语言都内置了处理它的函数 - 正如您在本示例中所看到的。