在日常开发中,常会遇到不同平台相互合作开发,难免会朋友签名认证等等事情,在实际开发过程中我碰到了一起需要生成签名的时候拼接参数和值,key.value.key.value这样的,并且需要对请求参数key进行compare排序,故而自己写了一个粗略的排序法,这样,在开发中大家就好处理了。
$asc = ['mobilePhone','password','smsVerifyCode','province','city','area'];//把key进行组装
$data_asc =[];
foreach($asc as $v ){
$x=0;
foreach ($asc as $d){
if(strcmp($v,$d)<0){//每个值都进行比对
$data_asc[$v] += 1;//比对结果如果较小的话加1,后来统计数量
}elseif(strcmp($v,$d)>=0){//比对结果如果较大或相等的话加1,后来统计数量(比如说1至100,100比除他自身外都要大)
$x +=1;
// var_dump($x);
if($x==count($asc)){
$data_asc[$v]='max';//比对,这个值如果和数组中个数相同,那么这个值就是最大的,给max
}
}
}
}