我目前正在创建一个由来自mysql查询的值组成的排序方法。
下面是该数组的简要视图:
Array
(
[0] => Array
(
['id'] = 1;
['countries'] = 'EN,CH,SP';
)
[1] => Array
(
['id'] = 2;
['countries'] = 'GE,SP,SV';
)
)
我已经成功地实现了一个基于数字id值的普通usort,但我更希望根据"countries“字段的内容(如果它包含一个集合字符串,在本例中是一个国家代码),然后按id字段对数组进行排序。
下面的代码片段是我关于如何做的第一个想法,但我不知道如何将它合并到一个工作函数中:
in_array('EN', explode(",",$a['countries']) );
你会怎么做?
谢谢!
不幸的是,我真的一无所获。
这就是我目前所拥有的,它给我的只是错误: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, "compare");
有没有人可以给我一些提示,告诉我如何继续下去?
https://stackoverflow.com/questions/2059255
复制相似问题