首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在php中修改json_encode函数文件?

如何在php中修改json_encode函数文件?
EN

Stack Overflow用户
提问于 2018-08-28 15:58:38
回答 2查看 78关注 0票数 0

代码:

代码语言:javascript
运行
复制
<script>
      $(document).ready(function(){
        var events = <?php echo $results; ?>;
        $("#calen").datepicker({
            beforeShowDay: function(date) {
                var result = [true, '', null];
                var matching = $.grep(events, function(event) {
                    return event.Date.valueOf() === date.valueOf();
                });

                if (matching.length) {
                    result = [true, 'highlight', null];
                }
                return result;
            },
            onSelect: function(dateText) {
                var date,
                    selectedDate = new Date(dateText),
                    i = 0,
                    event = null;

                while (i < events.length && !event) {
                    date = events[i].Date;

                    if (selectedDate.valueOf() === date.valueOf()) {
                        event = events[i];
                    }
                    i++;
                }
                if (event) {
                    alert(event.Title);
                }
            }
        });
      });
</script>

<?php
    $sqls = mysqli_query($con,"select pack_program, pack_duration, start_date, end_date from package_detail where pack_name = '".$row['pack_name']."'");
    while($fetch = mysqli_fetch_array($sqls))
    {
        $data[] = array(
                            'Title' => $fetch['pack_program'],
                            'Duration' => $fetch['pack_duration'],
                            'Date' => "new Date(".$fetch['start_date'].")"
                        );
    }
    $results = str_replace('</', '<\/', json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
?>

预期输出:

代码语言:javascript
运行
复制
var events = [{Title:"Tour Program : Delhi / Chandigargh Arrival - Shimla ( 02 Nights ) – Manali ( 03 nights ) – Chandigarh ( 01 night ) Delhi / Chandigargh Departure Total : 06 Nights & 07 Days Tour",Duration:"7 days 6 Nights",Date:new Date("08/28/2018")}];

意外输出:

代码语言:javascript
运行
复制
var events = [{"Title":"Tour Program : Delhi / Chandigargh Arrival - Shimla ( 02 Nights ) – Manali ( 03 nights ) – Chandigarh ( 01 night ) Delhi / Chandigargh Departure Total : 06 Nights & 07 Days Tour","Duration":"7 days 6 Nights","Date":"new Date(08/28/2018)"}];

在下面的代码中,我使用jQuery日期选择器创建了一个事件日历,如上所述,它可以很好地用于expected output。但它不适用于上面提到的unexpected output。那么,如何在提供expected output$data[]文件中进行修改呢?我该怎么做呢?请帮帮我。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-08-28 16:14:08

您需要的是JSON.parse()

代码语言:javascript
运行
复制
var events = <?php echo $results; ?>;
var obj = JSON.parse(events);

了解有关-> here的更多信息

票数 2
EN

Stack Overflow用户

发布于 2018-08-28 16:21:53

作为预期输出,new Date("08/28/2018")将成为Date对象,但在非预期输出中,它是一个字符串。

让您尝试更改代码,如下所示:

代码语言:javascript
运行
复制
$data[] = array(
                        'Title' => $fetch['pack_program'],
                        'Duration' => $fetch['pack_duration'],
                        'Date' => date('Y-m-d', $fetch['start_date'])
                    );

输出结果将是:

代码语言:javascript
运行
复制
var events = [{"Title":"Tour Program : Delhi / Chandigargh Arrival - Shimla ( 02 Nights ) – Manali ( 03 nights ) – Chandigarh ( 01 night ) Delhi / Chandigargh Departure Total : 06 Nights & 07 Days Tour","Duration":"7 days 6 Nights","Date":"2018-08-28"}];

并且它将与datepicker一起工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52052855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档