设为首页收藏本站

八达网

 找回密码
 注册
查看: 406|回复: 21
打印 上一主题 下一主题

会PHP的请解答我一个很初级的问题

[复制链接]

173

主题

0

好友

1万

积分

航母

跳转到指定楼层
1
发表于 2011-1-12 22:45 |只看该作者 |倒序浏览
本帖最后由 bruce_wayne 于 2011-1-12 22:56 编辑

下面有段关于分页的一部分代码


  1. //URL分析:
  2. $parse_url=parse_url($url);
  3. $url_query=$parse_url["query"]; //单独取出URL的查询字串


  4. if($url_query){
  5. //因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
  6. //这里用到了正则表达式,请参考“PHP中的正规表达式”
  7. $url_query=ereg_replace("(^|&)page=$page","",$url_query);

  8. //将处理后的URL的查询字串替换原来的URL的查询字串:
  9. $url=str_replace($parse_url["query"],$url_query,$url);

  10. //在URL后加page查询信息,但待赋值:
  11. if($url_query) $url.="&page"; else $url.="page";
  12. }else {
  13. $url.="?page";
  14. }

复制代码
这个if嵌套让我看不懂
能解释下吗

12

主题

0

好友

3万

积分

大和

2
发表于 2011-1-12 22:45 |只看该作者
消灭0回复
大脚------纯情
110------天赋
熊大-----谦虚
蓝妹-----羞涩
一库-----知识
图帝-----雅致
史官人--友善
TMD-----B哥
里奥-----瓜奴
BuBu -- 勇气
77 ------ 智慧
诺爷-----彪悍
旺财-----传统
彩林-----闷壶
小号-----十五
路妈-----火焰
瓜妹-----擂台
T Y ------膝盖
黑洞-----弯弓
田田-----粉木耳
叶凌-----圣骑士
枕头-----百精经
激动-----折翼天使
死水-----孩子他爹
500P已死,有事烧纸,群44430998
有点迷茫,为什么?
回复

使用道具 举报

5

主题

0

好友

1万

积分

航母

3
发表于 2011-1-12 22:46 |只看该作者
回复

使用道具 举报

237

主题

1

好友

5万

积分

光明执政官

浪是一种天赋    2是一种美德

4
发表于 2011-1-12 22:47 |只看该作者
页面嵌套代码神马的最讨厌了
面似银盆,吃相惨烈
回复

使用道具 举报

173

主题

0

好友

1万

积分

航母

5
发表于 2011-1-12 22:50 |只看该作者
会PHP的大侠快来
回复

使用道具 举报

荒野牧人 该用户已被删除
6
发表于 2011-1-13 11:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

190

主题

5

好友

4万

积分

管理员

小姐别发贴,是我

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

战队
[B.D]=
种族
Protoss

2013年夜饭

7
发表于 2011-1-13 11:22 |只看该作者
哥不懂PHP都看懂了
向还在为STL奋斗的玩家致敬!
回复

使用道具 举报

198

主题

3

好友

3万

积分

大和

8
发表于 2011-1-13 11:32 |只看该作者
哪不懂嘛?
回复

使用道具 举报

1

主题

0

好友

4万

积分

光明执政官

ZjuSa.pRo

9
发表于 2011-1-13 11:38 |只看该作者
页面嵌套代码神马的最讨厌了
一直在超神,从未被终结
回复

使用道具 举报

217

主题

4

好友

1万

积分

胖子去死去死团

Rank: 8Rank: 8Rank: 8Rank: 8

10
发表于 2011-1-13 12:04 |只看该作者
哥不懂PHP都看懂了
回复

使用道具 举报

5

主题

0

好友

1万

积分

航母

11
发表于 2011-1-13 12:08 |只看该作者
根本看不懂。。
回复

使用道具 举报

173

主题

0

好友

1万

积分

航母

12
发表于 2011-1-13 12:21 |只看该作者
本帖最后由 bruce_wayne 于 2011-1-13 12:29 编辑
很多年不搞了,
首先 $url_query获得url参数的值(这个值是字符串)
if($url_query)如果$url_query为空返回false;
后面括号里的逻辑是如果url里的query参数不为空就执行一个url重新组装的过程
那个正则是去掉$u ...
荒野牧人 发表于 2011-1-13 11:20


这个我能懂
他判断了2次 if($url_query)
如果第一个 if($url_query) 为真,那正则以后第二个 if($url_query) 也应该为真
多加这一个IF判断,然后又来一个else $url.="page"是什么意思
回复

使用道具 举报

364

主题

0

好友

9014

积分

大象

拱火组组长

13
发表于 2011-1-13 15:51 |只看该作者
12# bruce_wayne


前一个$url_query和后一个$url_query是不同的吧,因为在if里面已经改变了
回复

使用道具 举报

364

主题

0

好友

9014

积分

大象

拱火组组长

14
发表于 2011-1-13 15:55 |只看该作者
比如前一个是
$url_query = 'page=2';
后一个因为去了页码,变成空了,就不是真了,而前一个是真
回复

使用道具 举报

74

主题

0

好友

4万

积分

大和

战队
[B.D]=
种族
Protoss
15
发表于 2011-1-13 16:07 |只看该作者
。。。
回复

使用道具 举报

100

主题

2

好友

39万

积分

黑暗执政官

16
发表于 2011-1-13 16:09 |只看该作者
哥不搞软件的都看懂了
回复

使用道具 举报

0

主题

0

好友

4万

积分

大和

17
发表于 2011-1-13 16:14 |只看该作者
这个我能懂
他判断了2次 if($url_query)
如果第一个 if($url_query) 为真,那正则以后第二个 if($url_query) 也应该为真
多加这一个IF判断,然后又来一个else $url.="page"是什么意思
bruce_wayne 发表于 2011-1-13 12:21


if($url_query) $url.="&page"; else $url.="page";

这个$url_query 是 前面 ereg_replace 中返回的值  如果是true 则在$url 加上  "&page";  反之加  "page";


btw:  这段代码逻辑性真差.
BS 太监

零食笔记
回复

使用道具 举报

2

主题

0

好友

6万

积分

仲裁者

A-CUP 才是王道!

2007年度八达十大杰出青年 2008年度八达十大水友 2009年度八达十大水友

18
发表于 2011-1-13 16:16 |只看该作者
if($url_query) $url.="&page"; else $url.="page";

这个后面的page也要用?page吧,为啥没问号啊

上八达,日熊逼!
回复

使用道具 举报

2

主题

0

好友

6万

积分

仲裁者

A-CUP 才是王道!

2007年度八达十大杰出青年 2008年度八达十大水友 2009年度八达十大水友

19
发表于 2011-1-13 16:20 |只看该作者
哦,大概明白意思了。。。

6楼正解

上八达,日熊逼!
回复

使用道具 举报

173

主题

0

好友

1万

积分

航母

20
发表于 2011-1-13 16:22 |只看该作者
这是个分页
如果地址为http://localhost/11111/index.php?page=1
则结果是http://localhost/11111/index.php?1&page

地址是如果地址为http://localhost/11111/index.php
则结果http://localhost/11111/index.php?page

都是留着给后面赋值的

else $url.="page";
这个感觉不是完全没作用吗
回复

使用道具 举报

41

主题

1

好友

7712

积分

大象

21
发表于 2011-1-13 17:57 |只看该作者
20# bruce_wayne
没什么可重用性。
看源代码就去看点ZF,YII,FLEAPHP那种
回复

使用道具 举报

2

主题

0

好友

6万

积分

仲裁者

A-CUP 才是王道!

2007年度八达十大杰出青年 2008年度八达十大水友 2009年度八达十大水友

22
发表于 2011-1-13 18:01 |只看该作者
这是个分页
如果地址为http://localhost/11111/index.php?page=1
则结果是http://localhost/11111/index.php?1&page

地址是如果地址为http://localhost/11111/index.php
则结果http://localhost/11111/index.p ...
bruce_wayne 发表于 2011-1-13 10:22

我也说嘛~~

不过俺是新手,没有发言权

上八达,日熊逼!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|八达网    

GMT+8, 2026-6-12 06:18

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部