[英]How can I send variables from PHP to Javascript?
我是 JavaScript 的新手,我無法使這些代碼工作。 我只想知道我是否可以將 JavaScript 代碼放在 HTML 代碼中,或者它應該是一個不同的文件。
<?php
$bool = false;
$num = 3 + 4;
$str = "A string here";
?>
<script type="text/javascript">
// boolean outputs "" if false, "1" if true
var bool = "<?php echo $bool ?>";
// numeric value, both with and without quotes
var num = <?php echo $num ?>; // 7
var str_num = "<?php echo $num ?>"; // "7" (a string)
var str = "<?php echo $str ?>"; // "A string here"
</script>
將值從PHP
傳遞到JavaScript
,您應該使用json_encode()函數。
var bool = <?= json_encode($bool); ?>
您可以使用包含在 js 函數中的 php 標簽將 PHP 變量傳遞給 JavaScript。
必要的檢查:
;
在行尾。echo
顯變量以設置值..例子:
<?php
$date= date();
?>
<script>
document.write(<?php echo $date; ?>);
</script>
相同的技巧可以應用於其他數據類型(例如整數、數組、對象等)。 下面將整個數組從 PHP 傳遞到 JavaScript:
使用json_encode()
,您將始終獲得格式正確的 JavaScript 對象。
$shirt = array(
'color' => 'blue',
'number' => 23,
'size' => 'XL'
);
echo '<script>';
echo 'var shirt = ' . json_encode($shirt) . ';';
echo '</script>';
輸出如下所示:
<script>var shirt = {"color":"blue","number":23,"size":"XL"}</script>
要將保存在 PHP 變量($val)
中的標量數據傳遞給 JavaScript 變量,請將以下內容放在 JavaScript 段中:
var val = "<?php echo $val ?>";
注意 PHP 標簽周圍的引號。 這將在 JavaScript 中生成一個字符串值,您可能需要將其轉換為在您的腳本中使用。 如果 PHP 值是數字,則不需要包含引號。
這里我們演示了分配給 PHP 變量的布爾值、數字值和字符串值:
<?php
$bool = false;
$num = 3 + 4;
$str = "A string here";
?>
您可以使用以下命令將它們輸出到 JavaScript 中:
<script type="text/javascript">
// boolean outputs "" if false, "1" if true
var bool = "<?php echo $bool ?>";
// numeric value, both with and without quotes
var num = <?php echo $num ?>; // 7
var str_num = "<?php echo $num ?>"; // "7" (a string)
var str = "<?php echo $str ?>"; // "A string here"
</script>
在某些情況下,在 PHP 中有效的字符串在使用此方法輸出時可能會在 JavaScript 中產生錯誤。 PHP json_encode 函數可用於解決這些問題以及保留布爾值和數字的數據類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.