草庐IT

nested排序

全部标签

php - 按出现次数对 PHP 数组进行排序

简而言之,我想按每个成员出现的次数对数组进行排序,然后删除重复项。所以这样:$array=array('s','h','c','b','a','b','d','e','f','f','g')首先会被订购:('b','b','f','f','s','h','c','a','d','e','g')然后删除重复项:$array=array_unique($array);看起来像这样:('b','f','s','h','c','a','d','e','g')那么,我该怎么做呢?提前致谢。 最佳答案 一种快速的方法是构建一个数组/映射,对原始

php - 按降序对一组软件版本进行排序

如何对这个版本值数组进行排序?$available_databases=array("4.0.1","trunk","branch","4.1.0","4.0.3");所以结果是4.1.04.0.34.0.1branchtrunk 最佳答案 你应该使用usort功能。$isVersion=function($a){returnis_numeric(str_replace('.','',$a));};$sortFunction=function($a,$b)use($isVersion){if($isVersion($a)&&$isV

PHP:如何对 "array"进行排序和过滤,这是一个实现 ArrayAccess 的对象?

我有一个对象,它是对象的集合,表现得像一个数组。它是一个数据库结果对象。类似于以下内容:$users=User::get();foreach($usersas$user)echo$user->name."\n";$users变量是一个实现了ArrayAccess的对象。和Countable接口(interface)。我想对这个“数组”进行排序和过滤,但我不能对它使用数组函数:$users=User::get();$users=array_filter($users,function($user){return$user->source=="Twitter";});=>Warning:a

php - 如何对wp_query的结果进行排序

我正在尝试对wp_query的结果进行排序,我想按不同的参数对其进行排序,而无需再次进行查询。我有这样的东西:$the_query=newWP_Query($args);我想对$the_query进行排序,WP_Query返回这样的结构:$the_query->posts[0]->title;例如,我想按“标题”对所有元素进行排序。我试过这个:usort($the_query->posts,function($a,$b){return$a['title']-$b['title'];});我想在查询后进行排序。是因为我想排序很多次,不想每次排序都要查询解决方案这将返回fatalerror

php - 自然地对时间字符串数组进行排序

我需要自然地对时间字符串数组(未填充零)进行排序。示例数据:$totlahourdat1=["9:30","15:00","13:00"];当我尝试array_multisort($totlahourdat1,SORT_DESC)时,数据似乎没有变化。我的实际代码:while($row11=mysqli_fetch_array($hourget)){$totlahourdat1[]=strtotime($row11['hours']);}array_multisort($totlahourdat1,SORT_DESC);foreach($totlahourdat1as$time){$t

php - 如何按长度对字符串数组进行排序并在 PHP 中维护它们的键?

有一个字符串数组;$arr=array('longstring','string','thelongeststring');所以关键是:0=>'longstring'1=>'string'2=>'thelongeststring'我想按字符串的长度从最长到最短对其进行排序,但不更改它们的键;$arrSorted=array(**2**=>'thelongeststring',**0**=>'longstring',**1**=>'string');我从2天起就开始使用PHP,所以我已经知道这可能对这种情况有所帮助:...usort($twoDim,'sorting');}functio

javascript - php 是否有内置的数组函数可以对 bool 结果进行排序/赋值?

我有一个订单数组,键代表订单号。每个元素都包含一组员工,这些员工可以完成由员工编号表示的那些订单。例子[0]=>//0,[1]=>1,[2]=>2[1]=>[0]=>0,[1]=>1,[2]=>2[2]=>[0]=>3[3]=>[0]=>3所以订单0可以由员工0,1或2来完成。也订购1。订单2和3只能由员工3完成。我需要返回bool值,如果每个订单都有一个唯一的员工来完成它,则该值为真。所以在这种情况下返回false,因为只有一名员工可以履行订单2和3,并且不能分配给两者。我希望这是有道理的。在我的手机上轻敲这个啊 最佳答案 这是我

php - 如何按某个键对多维数组进行排序?

这应该很简单,但是如何进行呢?我想通过键对多维数组进行排序,如下所示:Array([0]=>Array([iid]=>1[invitee]=>174[nid]=>324343[showtime]=>2010-05-0915:15:00[location]=>13[status]=>1[created]=>2010-05-0915:05:00[updated]=>2010-05-0916:24:00)[1]=>Array([iid]=>1[invitee]=>220[nid]=>21232[showtime]=>2010-05-0915:15:00[location]=>12[statu

php - 按值排序数组并存储在变量中

$array=array(5,4,6,8,5,3,4,6,1);我想像asort一样对$array进行排序,但问题是asort是一个函数,它的乘积不能存储在变量中。我怎样才能做这样的事情?:$array=array(5,4,6,8,5,3,4,6,1);$sorted_array=asort($array);编辑:我还希望$array保持其原始顺序。 最佳答案 这样做是为了保持$array的原始顺序$array=array(5,4,6,8,5,3,4,6,1);$sorted_array=$array;asort($sorted_a

php - 在 PHP 中使用自定义键对数组进行排序

我有一个如下结构的数组$array1=array([123]=>array('1'=>'1','2'=>'3'),[345]=>array('1'=>'3','2'=>'5'),[789]=>array('1'=>'1','2'=>'5'),[567]=>array('1'=>'6','2'=>'5'),);另一个数组结构为$array2=array(567,345,789,123);现在我想用php排序函数对这个数组进行排序,我的意思是对第一个数组和第二个数组进行排序,使其看起来像所需的输出下面$array1=array([567]=>array('1'=>'6','2'=>'5')