Как передать переменные PHP и массивы в JavaScript

Добро пожаловать в руководство о том, как передавать переменные и массивы PHP в JavaScript.
PHP работает на стороне сервера, а JavaScript - на стороне клиента, так как же нам объединить их?
Быстрый и простой способ передать переменную из PHP в JavaScript - использовать короткий тег echo.
Например:

<?php $phpvar = "Привет мир"; ?>
let jsvar = "<?=$phpvar?>";

Но есть и другие способы сделать это, в зависимости от ситуации.
В этой статье мы рассмотрим различные примеры.

пример 1) используйте php echo и JavaScript

<?php $phpvar = "Привет мир"; ?>
<script>
<?php echo "let jsvar = '$phpvar';"; ?>
console.log(jsvar);
</script>

Что ж, это может быть сюрпризом для некоторых новичков, но помните, что JavaScript - это интерпретируемый язык.
Да, мы можем использовать PHP для echo блока кода JavaScript - он будет прекрасно интерпретироваться браузером.

пример 1) короткий echo-тег php для вставки значения

<?php $phpvar = "Привет мир"; ?>
<script>
let jsvar = "<?=$phpvar?>";
console.log(jsvar);
</script>

Каждый раз это очень долго делать echo "let abc = '$xyz';";, поэтому в PHP есть короткий echo-тег <?=$PHPVAR?>.
Да, это эквивалентно выполнению <?php echo $PHPVAR; ?>.

пример 2) вставьте переменную php в HTML форму

<?php $phpvar = "Привет мир"; ?>
<form onsubmit="return demo()">
<input type="text" id="myTxt" value="<?=$phpvar?>">
<input type="submit" value="Отправить">
</form>
<script>
function demo () {
let jsvar = document.getElementById("myTxt").value;
console.log(jsvar);
return false;
}
</script>

Мы по-прежнему используем здесь короткий echo-тег PHP, но вставляем значение в HTML поле <input> и используем JavaScript для получения поля формы.
Это своего рода обходной путь, но это имеет смысл, если вы работаете с формами.

пример 3) используйте JSON для передачи массивов

<?php
$phpvar = json_encode(["Apple", "Banana", "Cherry"]);
?>
<script>
let jsvar = JSON.parse('<?=$phpvar?>');
console.log(jsvar);
</script>

К сожалению, мы не можем передать массив (или объект) как есть. В этом случае мы можем:
A. Используйте json_encode() в PHP для преобразования массива в строку в формате JSON.
B. Старый добрый короткий echo-тег PHP для вывода строки, но в сочетании с Javascript JSON.parse() для преобразования строки в кодировке JSON обратно в массив.

Краткое дополнительное примечание и резюме:
JSON означает "стандартная нотация объектов JavaScript". Способ представления массивов и объектов в виде строк.
PHP -
json_encode() превращает массив в строку.
json_decode() превращает строку JSON обратно в массив.
JavaScript -
JSON.stringify() превращает массив в строку.
JSON.parse() превращает строку обратно в массив.

Обсуждение закрыто.