繁体   English   中英

在PHP中的自定义函数中使用

[英]usort within a custom function in php

我正在尝试制作一个非常酷的超级排序功能,但是当在内部创建一个功能时,用户排序功能不起作用。 我的想法是命名数组和键,然后根据我的选择返回排序的数组。

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]);
});

http://php.net/manual/en/functions.anonymous.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM