2017-2018 и выше решение:
Поскольку никто еще не поднял этот вопрос, и я думаю, что никто еще не думал о комбинировании функций base64_encode
и json_encode
, вы даже можете отправить переменные PHP Array следующим образом:
index.php
<?php
$string = "hello";
$array = ['hi', 'how', 'are', 'you'];
$array = base64_encode(json_encode($array));
Тогда вы можете просто загрузить желаемый js-файл с параметром для строки запроса, например:
echo '<script type="text/javascript" src="js/main.php?string='.$string.'&array='.$array.'">';
Тогда js/main.php
будет выглядеть, например, так. Вы можете проверить свои переменные следующим образом:
JS / main.php
<?php
if ($_GET['string']) {
$a = $_GET['string'];
}
if ($_GET['array']) {
$b = $_GET['array'];
}
$b = json_decode(base64_decode($b));
echo 'alert("String $a: + '.$a.'");';
echo 'alert("First key of Array $array: + '.$b[0].'");';
exit();
?>
При открытии index.php
будет выведено следующее. Итак, вы видите, что вы не открываете js/main.php
, и вы все еще получаете функциональность javascript от него.