這裏值的數組是我當前的代碼添加到陣列:排序的關鍵
foreach ($query->result() as $exp) {
$activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp);
}
我怎麼會去排序根據「時間戳」項的值這個數組?
這裏值的數組是我當前的代碼添加到陣列:排序的關鍵
foreach ($query->result() as $exp) {
$activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp);
}
我怎麼會去排序根據「時間戳」項的值這個數組?
您將需要使用usort
這將允許您使用用戶定義的函數對數組進行排序。
http://www.php.net/manual/en/function.usort.php
實施例:
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
我會使用函數陣列multisort用於實際的排序,也我會不同地存儲值:
foreach ($query->result() as $exp) {
$activities[$badge->timestamp] = array('type' => 'level',...);
}
array_multisort($activities, SORT_ASC, $array);
作爲獎勵,您可以使用匿名函數或lambda您的用戶定義功能。 – Zombaya
什麼是$ a和$ b? – Sneaksta
@Sneaksta他們都是數組的值。看一下手冊的鏈接,它應該向你解釋。 –