我添加了一些代码来处理规范链接,但它似乎并没有起作用。在几个文件中重复的一行代码在Dreamweaver旁边显示一个红色标记,所以我怀疑这是错误的。
$pid = explode('=',explode('&',$_SERVER['QUERY_STRING'])[0]);
任何人都可以看到一个明显的原因,这会被DW标记出来。我没有看到任何未公开的括号或'因此,我有点失落。
更新: 看来原始代码中存在一个基本错误,因为var $ pid [1]从未给出正确的数据。
我尝试使用下面的分割代码答案,如果我print_r这个
$qs = explode('&',$_SERVER['QUERY_STRING']);
结果是Array([0] => main_page = index [1] => cPath = 70_229_242_240)
然后print_r第二部分
$pid = explode('=',$qs[0]);
给出索引
的结果这是不正确的。
使用结果的代码的简化版本是
if($pid[1] == '70_229_242_240'){
echo " true";
}
因此,您可以看到我实际需要存储在$ pid中的内容取自cPath = 70_229_242_240
我已尝试更改爆炸以向我提供此数据,但我无法获得正确的结果。 TBH,他们总是混淆我的地狱。
解决。
使用$ pid = explode(' =',$ qs [1]);
答案 0 :(得分:1)
您可以将此代码更改为:
$qs = explode('&',$_SERVER['QUERY_STRING']);
$pid = explode('=',$qs[0]);
摆脱这个红色标记。
但实际上Dreamweaver不是PHP编辑器,你应该简单地选择别的东西来编写你的PHP代码。
答案 1 :(得分:1)
您需要将字符串传递给explode()
,因此请尝试implode()
使用limit -1
获取第一个爆炸阵列
$pid = explode('=',implode('=',explode('&',$_SERVER['QUERY_STRING'],-1)));
否则你需要两个陈述
$fr = explode('&',$_SERVER['QUERY_STRING']);
$pid = explode('=',$fr[0]);
答案 2 :(得分:0)
Dreamweaver确实认识到PHP 5.4,正如迈克尔所说,这个表达式只有在版本5.4之后才是正确的