📜  php 将 2 个日期值传递给 javascript - PHP (1)

📅  最后修改于: 2023-12-03 15:03:41.968000             🧑  作者: Mango

PHP 将 2 个日期值传递给 JavaScript

在 web 应用中,我们通常需要在前端 JavaScript 中获取 PHP 后端传递的日期值。本文将介绍如何使用 PHP 传递两个日期值给 JavaScript。

传递方法
使用 JSON

我们可以将两个日期值打包成一个 JSON 对象,通过 PHP 的 json_encode() 函数将其编码成 JSON 字符串,再通过 JavaScript 的 JSON.parse() 函数解码成 JavaScript 对象。示例代码如下:

<?php
    $start_date = date("Y-m-d", strtotime("2021-06-01"));
    $end_date = date("Y-m-d", strtotime("+1 month", strtotime("2021-06-01")));
    $date_range = json_encode(array(
        "start_date" => $start_date,
        "end_date" => $end_date
    ));
?>

<script>
    var date_range = JSON.parse('<?php echo $date_range; ?>');
    console.log(date_range.start_date); // 输出 "2021-06-01"
    console.log(date_range.end_date); // 输出 "2021-07-01"
</script>

上述代码中,我们使用 PHP 的 date() 函数将日期值转换为字符串,并使用 strtotime() 函数将起始日期向后推一个月,以获得终止日期。然后,我们将这两个日期值组成一个 PHP 关联数组,并使用 json_encode() 函数将其编码成 JSON 字符串。在 JavaScript 中,我们使用 JSON.parse() 函数将 JSON 字符串解码成 JavaScript 对象,并访问其中的两个日期值。

使用全局变量

我们也可以将两个日期值作为 PHP 脚本中的全局变量,在前端 JavaScript 中直接访问这些全局变量。示例代码如下:

<?php
    $start_date = date("Y-m-d", strtotime("2021-06-01"));
    $end_date = date("Y-m-d", strtotime("+1 month", strtotime("2021-06-01")));
    echo "<script>var start_date = '$start_date'; var end_date = '$end_date';</script>";
?>

<script>
    console.log(start_date); // 输出 "2021-06-01"
    console.log(end_date); // 输出 "2021-07-01"
</script>

上述代码中,我们将起始日期和终止日期作为 PHP 脚本中的变量,并使用 echo 命令输出这两个变量作为 JavaScript 代码。在前端 JavaScript 中,我们直接访问这两个全局变量并输出它们的值。

结语

本文介绍了如何使用 JSON 或全局变量来传递两个日期值给 JavaScript。根据需求不同,我们可以选择更适合的传递方法。