在 php 中的自定义函数内排序
usort within a custom function in php
我正在尝试制作一个非常酷的超级排序功能,但是当创建为内部功能时,用户排序功能不起作用。这个想法是命名数组和键,然后根据我的选择 returns 排序数组。
function super_sort($key,$arr){
usort($arr, function($a, $b){
return strcmp($a[$key], $b[$key]);
});
print_sorted($key,$arr);
}
我会这样称呼它
super_sort('name',$people);
我还应该添加 print_sorted 函数是这个
function print_sorted($key,$arr){
echo '<h1>'.$key.'</h1>';
foreach($arr as $k => $v){
echo '<strong>name:</strong> '.$v['name'].'<strong> age:</strong> '.$v['age'].'<strong> social:</strong> '.$v['social'].'<strong> index:</strong> '.$v['index'].'<br/>';
}
}
$key
在匿名函数的上下文中不存在,因此使用 use
.
传递它
usort($arr, function($a, $b) use ($key) {
return strcmp($a[$key], $b[$key]);
});
我正在尝试制作一个非常酷的超级排序功能,但是当创建为内部功能时,用户排序功能不起作用。这个想法是命名数组和键,然后根据我的选择 returns 排序数组。
function super_sort($key,$arr){
usort($arr, function($a, $b){
return strcmp($a[$key], $b[$key]);
});
print_sorted($key,$arr);
}
我会这样称呼它
super_sort('name',$people);
我还应该添加 print_sorted 函数是这个
function print_sorted($key,$arr){
echo '<h1>'.$key.'</h1>';
foreach($arr as $k => $v){
echo '<strong>name:</strong> '.$v['name'].'<strong> age:</strong> '.$v['age'].'<strong> social:</strong> '.$v['social'].'<strong> index:</strong> '.$v['index'].'<br/>';
}
}
$key
在匿名函数的上下文中不存在,因此使用 use
.
usort($arr, function($a, $b) use ($key) {
return strcmp($a[$key], $b[$key]);
});