function sort_multi_array($array, $key)
{
if (is_null($array)) return 0;
$keys = array();
for ($i=1;$i<func_num_args();$i++) {
$keys[$i-1] = func_get_arg($i);
}
// create a custom search function to pass to usort
$func = function ($a, $b) use ($keys) {
for ($i=0;$i<count($keys);$i++) {
if ($a[$keys[$i]] != $b[$keys[$i]]) {
return ($a[$keys[$i]] > $b[$keys[$i]]) ? -1 : 1;
}
}
return 0;
};
usort($array, $func);
return $array;
}
我构建一个简单的搜索查询但是当它到达结尾时,即警告中没有更多条目:usort()期望参数1为数组,在
中给出null如何测试数组是否为空并且只是在到达usort行之前返回null结果?
谢谢你!答案 0 :(得分:2)
如果usort
为空,请在使用$array
之前进行检查。
if ($array !== NULL) {
usort($array, $func);
}
答案 1 :(得分:0)
添加对empty
数据的检查 -
if (!empty($array)) {
// process data
}