2012-01-02 13 views
1

私は配列配列のPHPでキーを取得し、キーで配列をソートしますか?

Array 
(
[3] => Array 
    (
     [0] => title = title dffgfghfdg 
     [1] => 2-title2 
     [2] => content = content 2 
    ) 

[1] => Array 
    (
     [0] => title = title erer 
     [1] => 1-title1 
     [2] => content = content 1 
    ) 

[0] => Array 
    (
     [0] => title = title sdfdf 
     [1] => 4-title4 
     [2] => content = content 4 
    ) 

[2] => Array 
    (
     [0] => title = titledfdf df 
     [1] => 3-title3 
     [2] => content = content 3 
    ) 
) 

を持っていると私はすべての[1]キーであることを作れば。私は[1]内で配列をソートするので..?

はおそらく、私はキーでソートされます

Array 
(
[2-title2] => Array 
    (
     [0] => title = title dffgfghfdg 
     [1] => 2-title2 
     [2] => content = content 2 
    ) 

[1-title1] => Array 
    (
     [0] => title = title erer 
     [1] => 1-title1 
     [2] => content = content 1 
    ) 

[4-title4] => Array 
    (
     [0] => title = title sdfdf 
     [1] => 4-title4 
     [2] => content = content 4 
    ) 

[3-title3] => Array 
    (
     [0] => title = titledfdf df 
     [1] => 3-title3 
     [2] => content = content 3 
    ) 
) 

でしょうか? ありがとう

+0

あなたの質問は少し不明です。あなたは非整数キーで配列をソートする方法を尋ねていますか? – Will

答えて

3

foreach()を使用して配列を変換し、ksort()を使用します。

foreach($a as $k => $v) { 
    $b[$v[1]] = $v; 
} 
ksort($b); 

何かがそうです。

+0

アレクシスさん、ありがとうございました! 私はとても幸せです... –

3

usortを使用してください。 http://php.net/manual/en/function.usort.php

function user_cmp($a, $b) 
{ 
    if($a[1] == $b[1]) return 0; 
    return ($a[1] < $b[1]) ? -1 : 1; 
} 

$arr = array(...); 
usort($arr, 'user_cmp'); 
+0

+1、しかし私はuser_cmpを 'return strcmp($ a [1]、$ b [1]);'に単純化します。 – cmbuckley