配列に追加する現在のコードは次のとおりです。
foreach ($query->result() as $exp) {
$activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp);
}
「timestamp」キーの値に従ってこの配列をソートするにはどうすればよいですか?
配列に追加する現在のコードは次のとおりです。
foreach ($query->result() as $exp) {
$activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp);
}
「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");
実際の並べ替えには関数 array-multisort を使用します。また、値を別の方法で保存します。
foreach ($query->result() as $exp) {
$activities[$badge->timestamp] = array('type' => 'level',... );
}
array_multisort($activities, SORT_ASC, $array);