$arr[1]['name']='a';
$arr[1]['chinese']=5;
$arr[2]['name']='b';
$arr[2]['chinese']=56;
$arr[3]['name']='c';
$arr[3]['chinese']=1;
usort($arr, function($a, $b) {
$al = strlen($a['chinese']);
$bl = strlen($b['chinese']);
if ($al == $bl)
return 0;
return ($al > $bl) ? -1 : 1;
});
var_dump($arr);