如何将php数组数据发送到javascript变量

如何将php数组数据发送到javascript变量,php,javascript,json,Php,Javascript,Json,这是我正在使用的php数组。我试图将每个条目转换为字符串并将其传递给javascript变量,但是当我使用以下代码时,我只得到php数组中每个单词的第一个字母 <?php $terms = array('cat', 'dog', 'bird'); $rand_keys = array_rand($terms); ?> 带有php数组数据的Javascript变量 var searchterms = <?php echo json_encode($terms[$rand_

这是我正在使用的php数组。我试图将每个条目转换为字符串并将其传递给javascript变量,但是当我使用以下代码时,我只得到php数组中每个单词的第一个字母

<?php 
$terms = array('cat', 'dog', 'bird');
$rand_keys = array_rand($terms);
?>

带有php数组数据的Javascript变量

var searchterms = <?php echo json_encode($terms[$rand_keys]); ?>;
var searchterms=;

下面的代码只是从php数组中获取一个随机元素,而不是整个数组:

var搜索项=;

使用以下代码获取所有元素集:

var搜索术语=

使用
洗牌($terms)
then
echo-json\u-encode($terms)

您希望为php数组的每个元素创建一个js变量,或为随机php数组元素创建任何一个js变量。这非常有效,但如果我想在php数组中添加更多术语,该怎么办。我查看了源代码,它显示了所有类似var searchterms=[“slamjam”、“kenny”、“opp”、“heel”、“dog”、“bird”、“lol”、“flip”、“aaa”、“juu”、“sam”、“stern”、“ben”、“upndon”、“cat”];有没有办法让它一次显示一个术语?@Dan您正在将searchterms转换为json对象吗?@Dan yup:)因为它是一个受信任的源,您可以使用eval(),然后您可以像数组一样导航json对象(searchterms[0]将显示第一个值)