关于PHP的小小总结

WBOY
풀어 주다: 2016-07-25 09:02:10
원래의
920명이 탐색했습니다.

我们都遇到过这样的情况:某WEB应用页面其搜索条件很多,有时一个参数对应很多值,或者说有很强的上下级关系,比如租房网: 户型参数有:一室一厅、一室两厅等等。 这时候要给某一个塞选条件符上正确的URL参数就比较麻烦,为了不整天做重复的工作,我们写了下面这个方法。 例子我们用租房网的例子来参考(注意以下仅是演示,所以不讲究规范啥的)。 区域(area): 不限('')、区一(area1)、区二(area2)、区三(area3)....... 租金(rent): 不限('')、500以下(rent1)、500-800(rent2)....... 类型(style): 不限('')、公寓(style1)、普通住宅(style2).... 那么对应的a 标签 href值为: ">不限 ">区一 ">区二 ..... ">不限 ">公寓 ">普通住宅 这些标签在实际时,肯定是动态输出的。只要做到key(请求参数) 与 value (请求参数)的值一致就 喔 K 了 :) 。 欢迎批正(更多这里: http://fc-lamp.blog.163.com/blog/static/17456668720128275633639/ )。


  1. /**
  2. *
  3. * 查寻URL字符串处理
  4. * @author: fc_lamp
  5. * @blog: http://fc-lamp.blog.163.com/
  6. * @param str $key 主参数
  7. * @param str $value 参数值
  8. * @param str $query 查寻的字符串(此值一般不用管)
  9. * @param str $page_key 页码参数(在分页时,页码会被传入GET,所以要删除)
  10. * @internal
  11. * 如果字符中有key,则会删除原字符串中key,并赋上新值 .
  12. * 如果字符 key的输入值 value 为NULL,则会删除此KEY.
  13. */
  14. function query_str($key, $value = '', $query = '', $page_key = 'page')
  15. {
  16. $query = empty ( $query ) ? $_SERVER ['QUERY_STRING'] : $query;
  17. if (empty ( $query ))
  18. {
  19. $query = "?$key=" . urlencode ( "$value" );
  20. } else
  21. {
  22. parse_str ( $query, $q );
  23. if (isset ( $q [$page_key] ))
  24. {
  25. unset ( $q [$page_key] );
  26. }
  27. if (isset ( $q [$key] ))
  28. {
  29. unset ( $q [$key] );
  30. }
  31. if ($value === NULL)
  32. {
  33. $query = '?' . http_build_query ( $q );
  34. } else
  35. {
  36. if (! empty ( $q ))
  37. {
  38. $query = '?' . http_build_query ( $q ) . "&$key=" . urlencode ( "$value" );
  39. } else
  40. {
  41. $query = "?$key=" . urlencode ( "$value" );
  42. }
  43. }
  44. }
  45. return $query;
  46. }
复制代码


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!