PHP 当数组为空时,USort 给出空警告
PHP USort gives null warning when array is empty
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 为数组,
中给出的空值
我如何测试以查看数组是否为空并且在到达 usort 行之前只是 return 一个空结果?
谢谢!
在使用 usort
之前检查 $array
是否为 null。
if ($array !== NULL) {
usort($array, $func);
}
添加对 empty
数据的检查 -
if (!empty($array)) {
// process data
}
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 为数组,
中给出的空值我如何测试以查看数组是否为空并且在到达 usort 行之前只是 return 一个空结果?
谢谢!
在使用 usort
之前检查 $array
是否为 null。
if ($array !== NULL) {
usort($array, $func);
}
添加对 empty
数据的检查 -
if (!empty($array)) {
// process data
}