【发布时间】:2015-08-05 15:40:24
【问题描述】:
我正在尝试比较来自 2 种不同类型请求的信息,作为我系统的一部分,以允许对某些页面的权限,但一直遇到令人难以置信的字符串比较问题。
我得到的结果
string(26) "?type=week&date=2015-08-06" // exploded URI
string(30) "?type=week&date=2015-08-06" // query string
分解的 URI
$pageReqCheck = explode("/", urldecode($_SERVER["REQUEST_URI"]));
$accessPermissions = $pageReqCheck[3];
查询字符串
$queryString = "?".$_SERVER['QUERY_STRING'];
从 FOR 循环编辑结果
查询字符串
int(63) int(116) int(121) int(112) int(101) int(61) int(119) int(101) int(101) int(107) int(38) int(97 ) int(109) int(112) int(59) int(100) int(97) int(116) int(101) int(61) int(50) int(48) int(49) int(53) int (45) 整数(48) 整数(56) 整数(45) 整数(48) 整数(54)
分解的 URI
int(63) int(116) int(121) int(112) int(101) int(61) int(119) int(101) int(101) int(107) int(38) int(100) ) int(97) int(116) int(101) int(61) int(50) int(48) int(49) int(53) int(45) int(48) int(56) int(45) int (48) 整数(54)
编辑了不同的解决方案
$queryString = html_entity_decode($_SERVER['QUERY_STRING']);
【问题讨论】:
-
对每个字符串运行此命令,然后向我们展示结果:
for ($i = 0; $i < strlen($string); $i++) { var_dump(ord($string[$i])); }其中$string是输入。 -
听起来像
&amp;与&amp; -
在@Flosculus 上面的帖子中添加
-
看起来@VolkerK 是对的。
chr(38) . chr(97) . chr(109) . chr(112) . chr(59)=&amp. -
@VolkerK 格式化两个变量以便它们使用 & 或 & 的好方法是什么?具体来说?
标签: php string query-string