2011-07-18 23 views
-1

私はテンプレートパーサを作成しています。配列である各配列要素が最初に処理されるように、パーサに渡される変数の配列をソートする必要があります。例:配列と文字列の値の間で配列をソート

「タイプ」は配列なので最初に、「名前」は最後にする必要があります。誰にどのようにこれを行うにはアイデアを持っていますか? Iveは、さまざまなソート関数でphp.netのマニュアルを見ていましたが、どのように私の状況に当てはまるのか分かりません。

+2

この順序はハッシュでは意味がありません – zerkms

+0

ハッシュはどういう意味ですか? – Wilson212

+2

値が文字列によって参照されるコレクションの種類 - はハッシュです。コレクションは数値インデックスで参照されます - 配列。 – zerkms

答えて

2
function cmp($a, $b) { 
    return is_array($a)? -1 : 0; 
} 

uasort($data, "cmp"); 
+0

非常に素敵:) :)きれいに見えます。 – Wilson212

+0

これは絶対に間違っています。それは非配列の後に配列を配置します。 – AlienWebguy

+0

あなたは絶対に正しいです、AlienWebguy!ありがとう!あなたのコメントに基づいて自分の投稿を修正しました。 – sntran

3
function cmp($a, $b) { 
    return is_array($a) ? -1 : 1; 
}  
uasort($data, "cmp"); 

アルファベット順に配列を並べ替えます。配列はStringの前に置かれます。

+0

私はあなたの比較を$ aから$ aに固定し、並べ替え関数をuasortに変更して、配列のすべてのキーを消去しないようにしました。 –

+0

ありがとうございます:) – Wilson212

+0

ありがとうございました。素敵な修正:) – AlienWebguy