我目前正在创建一个由mysql查询中的值组成的排序方法.
这是阵列的简要视图:
Array
(
[0] => Array
(
['id'] = 1;
['countries'] = 'EN,CH,SP';
)
[1] => Array
(
['id'] = 2;
['countries'] = 'GE,SP,SV';
)
)
Run Code Online (Sandbox Code Playgroud)
我已经成功地根据数字id值进行了正常的操作,但是我更愿意按"countries"字段的内容对数组进行排序(如果它包含一个设置字符串,在这种情况下是一个国家/地区代码),然后由id字段.
以下片段是我对如何做到的第一个想法,但我不知道如何将它合并到一个工作函数中:
in_array('EN', explode(",",$a['countries']) );
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
谢谢!
不幸的是,我真的无处可去.
这就是我现在拥有的东西,它给我的只是错误: uasort() [function.uasort]: Invalid comparison function
function compare($a, $b) {
global $usercountry;
if ( in_array($usercountry, $a['countries']) && in_array($usercountry, $a['countries']) ) {
$return = 0;
}
else if (in_array($usercountry, $a['countries'])) {
$return = 1;
}
else {
$return = -1;
}
return $return;
}
$array= usort($array, …Run Code Online (Sandbox Code Playgroud)