Как передать целочисленное значение в JS, который находится в целочисленной переменной PHP? - PullRequest
0 голосов
/ 08 января 2012

Я пытаюсь передать некоторые переменные из PHP в JS.

Я видел здесь , что для строк будет работать следующий код:

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

IЯ использовал это:

    var var1 = <?= $var1 ?>;

Какой из них я должен использовать для Int?первая версия всегда хороша?Второй - просто старая форма?Я был бы рад получить разъяснения и инструкции по передаче переменных (различных типов) от php к js в целом.

Спасибо!

Ответы [ 6 ]

6 голосов
/ 08 января 2012

Прежде всего, давайте рассмотрим, как объявить переменную в javascript.

Существует много типов переменных, но давайте рассмотрим int и string. Строки должны иметь кавычки по всему. 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; ?>, первый не поддерживается на всех серверах, а второй - поддерживается. Вы можете использовать его, если хотите, но если вы когда-нибудь захотите перейти на сервер, вам нужно сначала проверить, разрешен ли этот синтаксис.

2 голосов
/ 08 января 2012

Что ж, скажем на 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; ?> ";
0 голосов
/ 13 ноября 2018
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;
0 голосов
/ 23 июня 2015

ДАЖЕ Любой, у кого проблемы, сделайте следующий путь!

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

это в строку!

и

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

это в Int!

0 голосов
/ 08 января 2012

Две версии эквивалентны. Вторая версия активируется, если в вашем php.ini включена опция short_open_tag. В php 5.4 <?= будет доступен даже без включенного short_open_tag.

0 голосов
/ 08 января 2012

Для общего решения используйте это:

var data = JSON.parse("<?php echo addslashes(json_encode($data)); ?>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...