2016-05-14 123 views
0

我必須按照存儲在內部數組中一個字段(笑話)上的字符串的長度對二元數組排序。按字符串長度對三維數組進行排序PHP

Array(
    'type' => 'success', 
    'value => array (
     0 => array (
      'id' => 1 
      'joke' => 'Chuck Norris uses ribbed condoms inside out, so he gets the pleasure.'); 
     1 => array (
       'id' => 2 
       'joke' => 'MacGyver can build an airplane out of gum and paper clips. Chuck Norris can kill him and take it.'); 
    ); 
); 

我已經tryed幾個方面,但如果你需要使用非平凡的比較一個不錯的選擇將是使用usort()數組進行排序,我不能得到它的權利

+0

,所以你要排序只是'joke'鍵嵌套數組? – RomanPerekhrest

回答

1

usort($array, function($a, $b) { 
    return strlen($a['joke']) > strlen($b['joke']); 
}); 
1

如果要排序只是「玩笑」鍵嵌套數組 - usort功能將做的工作:

usort($arr['value'], function($a,$b) { // $arr is your initial array 
    return mb_strlen($a['joke']) - mb_strlen($b['joke']); 
}); 

print_r($arr); 
相關問題