2012-05-01 7 views
0

の値によってArray配列に追加するには私の現在のコードです:注文ここで重要

foreach ($query->result() as $exp) { 
    $activities[] = array('type' => 'level', 'exp' => $exp->exp, 'timestamp' => $badge->timestamp); 
} 

は、どのように私は「タイムスタンプ」キーの値に応じてこの配列をソートするに行きますか?

答えて

2

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"); 
+1

をボーナスとして、無名関数またはラムダを次のように使用できます。ユーザー定義関数 – Zombaya

+0

$ aと$ bは何ですか? – Sneaksta

+0

@ Snekstaこれらは両方とも配列の値です。マニュアルへのリンクを見て、それはあなたにそれを説明する必要があります。 –

0

また、私は異なる値を格納することになる、実際のソートする機能配列、マルチソートを使用します

foreach ($query->result() as $exp) { 
    $activities[$badge->timestamp] = array('type' => 'level',...); 
} 
array_multisort($activities, SORT_ASC, $array); 

http://php.net/manual/en/function.array-multisort.php

+1

$配列変数は何ですか? – Sneaksta

+0

私はキーとしてstrtotime($ badge-> timestamp)を入れようとしていますが、それを受け付けません。それは、数字ではなく、キーの文字だけを好むようです。どうしてこれなの? – Sneaksta

関連する問題