首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json调用不能解释中的PHP变量

Json调用不能解释中的PHP变量
EN

Stack Overflow用户
提问于 2016-10-18 18:30:48
回答 2查看 29关注 0票数 0

我想从数据库中加载事件日历,我在网上得到了这段代码,并且运行得很好。

我的javascript:

代码语言:javascript
复制
$('#mycalendar').monthly({
    mode: 'event',
    jsonUrl: 'http://localhost/acadasuite_mobile/www/calendar.php',
    dataType: 'json'
});

我的PHP

代码语言:javascript
复制
   $startdate = "2016-10-6";
   echo '{
    "monthly": [
       {
         "id": 2,
         "name": "This is a JSON event",
         "startdate": "2016-10-6",
         "enddate": "",
         "starttime": "12:00",
         "endtime": "2:00",
         "color": "#EF44EF",
         "url": ""
      }
    ]
  }';

上面的效果很好。但是,如果我将"2016-10-6“改为”.$startdate“,它将不再起作用。

即。“开始日期”:‘.$startdate’

请注意,问题是什么?是javascript没有解释变量$startdate或PHP吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-18 18:33:28

PHP不会解释用单引号表示的字符串中的变量。在外部切换到双引号,并在内部避开双引号。

或者,使用字符串连接:

代码语言:javascript
复制
$startdate = "2016-10-6";
echo '{
"monthly": [
   {
     "id": 2,
     "name": "This is a JSON event",
     "startdate": "'.$stardate.'",
     "enddate": "",
     "starttime": "12:00",
     "endtime": "2:00",
     "color": "#EF44EF",
     "url": ""
  }
]
}';
票数 2
EN

Stack Overflow用户

发布于 2016-10-18 18:36:51

你忘了引用:

代码语言:javascript
复制
"startdate": "2016-10-6", etc...

变成了

代码语言:javascript
复制
"startdate": ' . $stardate . ', etc..

产生

代码语言:javascript
复制
 "startdate":2016-10-6, etc...

它是,而不是有效的JSON。Json只能表示值,不能表示表达式。即使支持表达式,这也是一个数学减法,您将把值2000放入startdate中。

你需要引号:

代码语言:javascript
复制
     "startdate": "' . $startdate . '",
                  ^------------------^

以显示(J)子项/(P)hp的划定是在何处:

代码语言:javascript
复制
     "startdate": "' . $startdate . '",
     jjjjjjjjjjjjjjppppppppppppppppppjj
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40115533

复制
相关文章

相似问题

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