簡體   English   中英

如何將變量從 PHP 發送到 Javascript?

[英]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。

必要的檢查:

  1. 確保您放置了; 在行尾。
  2. 您需要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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM