19

我无法弄清楚如何将PHP数组分配给jQuery数组?

我想做如下的事情:

var jQueryArray = <?php $phpArray; ?>;

谁能告诉我我该怎么做?

4

7 回答 7

52

使用json 编码

json_encode — 返回值的 JSON 表示

例子:

var arrayFromPHP = <?php echo json_encode($arr); ?>;
于 2013-03-17T13:45:56.437 回答
7

您需要使用json_encode

var jQueryArray = <?php echo json_encode($phpArray); ?>;
于 2013-03-17T13:45:54.867 回答
7

您可以使用以下json_encode功能:

var jQueryArray = <?php echo json_encode($phpArray); ?>;
于 2013-03-17T13:45:57.887 回答
3

您可以使用 json_encode

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>
于 2013-03-17T13:46:06.740 回答
3

不要忘记 PHP json_encode 只适用于 UTF8 编码的文本......

$jsonString = json_encode(array_map(utf8_encode, $rawArray));

would be a more universal solution I think, but I'm a bit tired so 'scuse any coding gaffs ...

于 2013-03-17T13:58:40.603 回答
2

它不会是一个 JQuery 数组,它是一个 javascript 数组(只是为了澄清,因为听起来你可能是一个菜鸟)。将您的 JS 数组设置为:

<?php echo json_encode($phpArray);?>

请参阅 php json_encode 文档: http://php.net/manual/en/function.json-encode.php

于 2013-03-17T13:47:49.433 回答
-1

您可以在 HTML 文件中使用 Json 或使用 foreach

<?php foreach($phpArray as $key => $val): ?>
      jQueryArray[<?php echo $key; ?>] = <?php echo $val; ?>
<?php endforeach; ?>
于 2013-03-17T13:48:52.497 回答