2016-03-01 20 views
0

我想在我的JavaScript中使用PHP变量。 这是我目前已经和正在工作得很好:Math.random JavaScripts与PHP变量

<?php 
$test = '"test1","test2",test3"'; 
?> 
<script type="text/javascript"> 
var values = [<?php echo $test; ?>], 
valueToUse = values[Math.floor(Math.random() * values.length)]; 
alert(valueToUse); 
</script> 

不过,如果我使用从数据库中检索值,该代码将无法正常工作。这两个变量包含完全相同的值并且是字符串类型。

+0

你为什么不只是使用PHP的'兰特()'? –

+0

在呈现PHP代码后,您的JS看起来像什么?你得到了哪些JS错误? –

+0

这段代码缺少'test3'的引用,并且会导致JavaScript中的语法错误。此外,为了避免类似这样的拼写错误,请考虑使用'$ test = array('test1','test2','test3');'和'var values = <?php echo json_encode($ test); ?>;'。 ([如何将变量和数据从PHP传递到JavaScript?](http://stackoverflow.com/questions/23740548/how-to-pass-variables-and-data-from-php-to-javascript)) –

回答

0
<?php 
$test = 'test1,test2,test3'; 
?> 
<script type="text/javascript"> 
var values = <?php echo $test; ?>; 
values=values.split(","); 
valueToUse = values[Math.floor(Math.random() * values.length)]; 
alert(valueToUse); 
</script> 

你的问题是你的测试变量是一个刺痛但是如果你调用JavaScript分裂功能上的绳子很容易变成一个,分隔的列表为JavaScript数组