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
}