php get传值参数忽略大小写的两种解决方案

$Country="";
$Species="";
$Random="";
$Limit="";
$Order="";
$UserName="";
$Password="";
if(is_array($_GET))
{
//这里用$_GET可以获取get传值,传过来的数组

  foreach($_GET as $key=>$value)
    {
       if(strtolower($key)=="country"){
           $Country=$value;
       }
       else if(strtolower($key)=="species")
       {
           $Species=$value;
       }
       else if(strtolower($key)=="random")
       {
           $Random=$value;
       }
       else if(strtolower($key)=="limit")
       {
           $Limit=$value;
       }
       else if(strtolower($key)=="order")
       {
           $Order=$value;
       }
       else if(strtolower($key)=="username")
       {
           $UserName=$value;
       }
       else if(strtolower($key)=="password")
       {
           $Password=$value;
       }
    }
    
}

http://blog.sina.com.cn/s/blog_4ea8be380100ezr3.html



因为参数是通过GET传递,也就是可以由用户直接输入URL。
那么用户可能会不注意大小写,在输入URL的时候把参数名输成了大写。

 

{解决方法}
首先,把通过GET取得的参数的名称全部转为小写。
然后,在程序的任意地方都可用小写的键名引用参数了。

 

PHP code
    
<? php

 

 

// 将数组的所有key变为小写。
$_GET = array_change_key_case ( $_GET , CASE_LOWER);

 

 

var_dump ( $_GET );

 

 

?>

 

输入:
http://...?groupID=1&nAme=listenin

输出:
array(2) {
  ["groupid"]=>
  string(1) "1"
  ["name"]=>
  string(8) "listenin"
}

http://topic.csdn.net/u/20080506/11/0b9ccf8a-1842-4f42-989c-043b2c64777d.html

你可能感兴趣的:(解决方案)