1

我在.htaccess文件中有这个重写规则

RewriteRule ^(.+)$ index.php?url=$1

然后,当我检查 , 的类型时$_GET['url'],它总是一个字符串。

我想知道是否有可能在浏览器的地址栏中写一些魔术符号(或类似的东西)并$_GET['url']以其他类型(不是字符串)获得?

或者$_GET永远是的类型string

4

3 回答 3

7

如果你这样做:

 index.php?url=asd&url[]=asd //asd&url[]=asd being the dynamic part

然后$_GET['url']将是一个数组。

于 2012-11-14T23:13:22.043 回答
4

无论您从中获取什么,$_GET都将永远是一个字符串。

于 2012-11-14T23:08:33.137 回答
0

$_GET参数将始终是字符串。

但是您可以检查您的变量是否为数字,然后使用强制转换:

if (is_numeric($_GET['url'])) {
  $url = (int) $_GET['url'];
}

http://php.net/manual/en/function.is-numeric.php

http://php.net/manual/en/language.types.type-juggling.php

于 2012-11-14T23:11:48.617 回答