如何将整数值传递给PHP整数变量中的JS?

时间:2012-01-08 05:45:43

标签: php javascript variables

我正在尝试将一些变量从PHP传递给JS。

我看到here对于字符串,以下代码可以正常工作:

    var str = "<?php echo $x; ?>";

我一直在用这个:

    var var1 = <?= $var1 ?>;

我应该将哪一个用于int?第一个版本总是好的?第二个只是一个旧形式吗?我很乐意澄清和指导从php到js传递变量(dif类型)。

谢谢!

6 个答案:

答案 0 :(得分:6)

首先,让我们来看看如何在javascript中声明一个变量。

有许多类型的变量,但我们可以看看intstring。字符串必须有引号。 Int没有。

var int = 5;
var string = "hello";

现在,当我们将一个变量从php传递给javascript时,我们所做的就是在等号后用php中声明的变量替换值。您提到了回声变量的两种方法。

var str = "<?php echo $phpVariable; ?>";
var str = "<?= $phpVariable ?>";

如果这些变量是int(顺便说一下,包括任何数字,无论是否为整数),php open和close标签周围都没有引号。现在,你说你更喜欢使用第二种方法。我真的建议你不要。即使键入<?= $phpVariable ?><?php echo $phpVariable; ?>容易得多,但前者并不是所有服务器都支持,而后者是。{您可以根据需要使用它,但如果您想移动到服务器,则需要先检查是否允许该syntex。

答案 1 :(得分:2)

那么, 让我们在PHP中说,

$php_int_variable = 5;
$php_string_variable = "Hello";

为了在javascript中获取它,如下所示,

var int = 5;
var string = "Hello";

你必须写,

var int = <?php echo $php_int_variable; ?>;
var string = "<?php echo $php_string_variable; ?> ";

答案 2 :(得分:0)

对于一般解决方案,请使用:

var data = JSON.parse("<?php echo addslashes(json_encode($data)); ?>");

答案 3 :(得分:0)

即使有问题的人,也要采取下一步行动!

var str = "<?php echo $x; ?>"; 

这是字符串!

var int = parseInt('<?php echo $x; ?>');

这对Int!

答案 4 :(得分:0)

var a = parseInt("10") + "<br>";
var b = parseInt("10.00") + "<br>";
var c = parseInt("10.33") + "<br>";
var d = parseInt("34 45 66") + "<br>";
var e = parseInt(" 60 ") + "<br>";
var f = parseInt("40 years") + "<br>";
var g = parseInt("He was 40") + "<br>";

var h = parseInt("10", 10)+ "<br>";
var i = parseInt("010")+ "<br>";
var j = parseInt("10", 8)+ "<br>";
var k = parseInt("0x10")+ "<br>";
var l = parseInt("10", 16)+ "<br>";

var n = a + b + c + d + e + f + g + "<br>" + h + i + j + k +l;

答案 5 :(得分:-1)

这两个版本是等效的。在php.ini中启用short_open_tag选项时,将启用第二个版本。在php 5.4中,即使没有启用short_open_tag,<?=也可用。