$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue1");
/**
* Array
(
[data] => Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)
[sign] => 2308BCF74D35E6A0A2AAE25ADD85EE51
)
*/
$res = createKSortSign($a1,"12qwe");
print_r($res);
/**
* 生成签名sign
*
* @param $data
* @param $secret_key
*
* @return array
*/
function createKSortSign($data, $secret_key)
{
ksort($data);
$signData = array();
foreach ($data as $k => $v) {
if (!empty($v)) {
if (is_array($v)) {
$signData[$k] = json_encode($v);
} else {
$signData[$k] = $v;
}
}
}
$signData['key'] = $secret_key;
$sign = urldecode(http_build_query($signData));
$sign = strtoupper(md5($sign));
unset($signData['key']);
return [
'data' => $signData,
'sign' => $sign
];
}