PHP中是否有内置的sortByKey()函数?

时间:2009-09-17 05:36:48

标签: php arrays

说,$ arr包含多个子键,其键为“pos”,

$arr = sortByKey($arr,'pos');

之后,将首先排序具有最小“pos”值的子阵列,依此类推。

修改

$sub1 = array('pos' => 2);
$sub2 = array('pos' => 1);
$arr = array($sub1,$sub2);
$arr = sortByKey($arr,'pos');

在此函数之后,$ arr将是数组($ sub2,$ sub1)

2 个答案:

答案 0 :(得分:2)

查看ksort函数。

这里是函数的manual

抱歉,我认为你是ccase,你更关注uasort你可以定义一个函数来比较你的每个元素并对它们进行排序

// Array to be sorted

print_r($array);

// Sort and print the resulting array
uasort($array, create_function('$a,$b', 'return $a[\'pos\'] == $b[\'pos\'] ? 0 : (($a[\'pos\'] < $b[\'pos\']) ? -1 : 1);'));
print_r($array);

必须测试不确定双倍?运营商...

啦啦队

答案 1 :(得分:0)

让我给你写一个函数。它没有经过测试。

function subarray_sort($array, $subkey) {
  $sortarray=array();
  foreach($array as $item) {
      $sortarray[]=$item[$subkey];
  }

  array_multisort($sortarray, $array);
}