我必须按照内部数组中一个字段(笑话)上存储的字符串的长度对bidimentional数组进行排序。
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.');
);
);
我尝试了几种方法,但我无法做到正确
答案 0 :(得分:1)
如果你需要使用非平凡的比较对数组进行排序,那么最好使用usort()
。
usort($array, function($a, $b) {
return strlen($a['joke']) > strlen($b['joke']);
});
答案 1 :(得分: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);