字体:  

PHP让我服了....类型..

于安 发表于: 2008-8-29 17:44 来源: PHPChina 开源社区门户

url规律是这样的:  

  index.php?page=1.htm;

  echo $_GET['page'];   //显示1.htm

  单独提取1的数字,可以用个
$page=str_replace('.htm','',$_GET['page'])  //这时的$page就是数值了,,,

  可万万想不到:

  echo $_GET['page']-10;   // 竟然等于-9; 它正确运算了..

最新回复

心痛 at 2008-8-29 17:47:36
你试试字符串强制类型转换

[ 本帖最后由 心痛 于 2008-8-29 17:49 编辑 ]
异度冰晶 at 2008-8-29 17:49:23
PHP本来就这样的 那你觉得最后的echo应该是什么样子才是类型严格的语言产生的结果呢?
小星 at 2008-8-29 17:49:34
$page= $_GET['page']+0;

这不是比  $page=str_replace('.htm','',$_GET['page']) 好吗?
konakona at 2008-8-29 17:55:01
对de 通过+0,强制转换成数字.
经常可以在 分页php上看到的.
于安 at 2008-8-29 17:56:00
这些基础的进规律为什么要这么松散..

你要明白我的url用意..

那个数字1是一定要单独出来的..  所以我没有必要用$_GET['page']去加减!!!

  唉, 太松散了..
ddm at 2008-8-29 21:20:58
凡是进行四则运算都会转换成数字类型,
只有点(.)才是连接符

尽管两个都是字符串,也是一样
echo 'a' + 'b';

输出0
rao3324180 at 2008-8-30 03:26:22
慢慢调试啊
programmerhuang at 2008-8-30 06:28:40
呵呵, 其实直接提取1, 我一般就直接转成整型的, 就自动取得前面的数了.
这种情况在弱类型语言中就是这样的.
kuhanzhu at 2008-8-30 10:29:18
PHP是松散型的。
echo $_GET['page']-10; 要显示1-10
那就echo $_GET['page']."-10";
七月十五 at 2008-8-30 10:33:50
手册要读好