如何将PHP数组分配给jQuery数组?

20

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

我想要执行类似以下的操作:

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

有人能告诉我如何实现这个吗?


3
重复/类似问题:https://dev59.com/W2035IYBdhLWcg3wHsKR + https://dev59.com/JG445IYBdhLWcg3wZJYn - ro ko
将PHP数组传递给jQuery函数的方法:https://dev59.com/eWTWa4cB1Zd3GeqPBkIM - user2156884
7个回答

53

使用json_encode函数。

json_encode — 返回一个值的 JSON 格式表示

示例:

var arrayFromPHP = <?php echo json_encode($arr); ?>;

@McGafter 很好的发现! - dsgriffin

7

你需要使用json_encode

var jQueryArray = <?php echo json_encode($phpArray); ?>;

3
额...有什么东西丢失了吗? - ShuklaSannidhya
是的,确实缺少了 echo。抱歉,我已经更新了代码。 - sdespont

7
您可以使用json_encode函数来实现:
var jQueryArray = <?php echo json_encode($phpArray); ?>;

3
您可以使用json_encode函数。
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

3
不要忘记,PHP json_encode 只能处理UTF8编码的文本...
$jsonString = json_encode(array_map(utf8_encode, $rawArray));

我认为这将是一个更普遍的解决方案,但我有点累了,所以请原谅任何编码错误...


你让我的一天变得美好。非常感谢你 +1。 - Md. Mahamudul Hasan Khan

2

它不会是一个JQuery数组,而是一个JavaScript数组(只是为了澄清,因为听起来你可能是个新手)。将您的JS数组设置为以下内容:

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

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

1
哈哈,我知道 - 我不应该浪费时间去获取链接。 - flynn

-1

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

<?php foreach($phpArray as $key => $val): ?>
      jQueryArray[<?php echo $key; ?>] = <?php echo $val; ?>
<?php endforeach; ?>

2
你需要在那里加上引号。 - mplungjan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接