Вы не задумываетесь над тем, как это происходит, когда отображаются переменные.
Если у вас есть переменная $x
с содержимым «test», выполните следующее:
var x = <?=$myvar?>;
Результатом будет:
var x = test;
Это недопустимо (если test
не является переменной), потому что вам нужно заключить его в кавычки, чтобы сделать его строкой:
var x = "<?=$myvar?>";
Что затем приводит к действительному:
var x = "test";
Причина, по которой она работает с другой переменной, заключается в том, что вы выводите идентификатор, который является целым числом:
var x = <?=$myid?>;
Будет переведено на:
var x = 5;
Что совершенно верно.
При всем этом, вы должны поместить все, что вы хотите отправить в Javascript, в массив и вызвать json_encode , чтобы легко и безопасно напечатать значения. Без этого вам придется беспокоиться о том, что в строке не должно быть кавычек и тому подобного.