草庐IT

php - 对数组进行排序,在 PHP 顶部保持偶数

我已经尝试对下面的数组进行排序以将偶数值保持在顶部并按从asc到desc的排序顺序$array=array(1,2,3,4,5,6,7,8,9,10);我试过这个来对数组进行排序usort($array,function($a,$b){if($a%2==0){return1;}else{return-1;}});我得到如下输出Array([0]=>7[1]=>9[2]=>1[3]=>5[4]=>3[5]=>2[6]=>4[7]=>6[8]=>8[9]=>10)我希望输出数组是Array([0]=>2[1]=>4[2]=>6[3]=>8[4]=>10[5]=>1[6]=>3[7]=>5[

php - Yii2 在 GridView 中的默认过滤器

我不知道如何设置GridView的过滤器默认值。这意味着当页面加载时,它将加载具有我设置的特定条件的过滤器。有什么想法吗?谢谢 最佳答案 一个简单的方法是使用搜索模型。我正在使用默认的Gii生成代码来解释方法publicfunctionactionIndex(){$searchModel=newUserSearch();$dataProvider=$searchModel->search(Yii::$app->request->queryParams);return$this->render('index',['searchMode

php - 如何按值对多维数组进行排序?

我有一个如下所示的数组,我想按键“attack”的值对该数组进行排序。数组(15,13,18)的第一个键是数据库中某些特定项目的ID,因此我不希望在对数组排序时更改这些键。任何帮助将不胜感激。这是数组:$data=array('15'=>array('attack'=>'45','defence'=>'15','total'=>'10'),'13'=>array('attack'=>'25','defence'=>'15','total'=>'10'),'18'=>array('attack'=>'35','defence'=>'15','total'=>'10'));

php - 如何使用 PHP 在目录中找到前 5 个文件?

我如何使用PHP列出按字母顺序排序的目录中的前5个文件或目录? 最佳答案 使用scandir():array_slice(array_filter(scandir('/path/to/dir/'),'is_file'),0,5);array_filter()与is_file()函数回调确保我们只处理文件而无需编写循环,我们甚至不必关心关于.和..因为它们是目录。或者使用glob()-它不会匹配像.htaccess这样的文件名:array_slice(glob('/path/to/dir/*.*'),0,5);或者使用glob()+a

php - 使用 DateTime 字符串对数组进行排序?

我如何在PHP中根据end_time值对这个数组(最近的项目排在第一位)进行高效排序?array0=>array'value'=>int4'end_time'=>string'2012-01-20T08:00:00+0000'(length=24)1=>array'value'=>int0'end_time'=>string'2012-01-21T08:00:00+0000'(length=24)2=>array'value'=>int5'end_time'=>string'2012-01-22T08:00:00+0000'(length=24)3=>array'value'=>int

php - 使用同位素按日期排序,分解为日/月/年

我正在使用Isotope对一堆元素进行排列和排序。我有控制所有排序的按钮。我无法使“日期”排序正常工作。我在每个要排序的元素中打印日期,并对其应用一类.date。它目前打印为dd/mm/yy在最简单的形式中,我可以使用-getSortData:{date:'.date',}这将组织成数字顺序,这对几天来说很好,但当涉及到几个月时就会出错。我怎样才能让排序按真实日期排序,而不仅仅是数字。我已经尝试使用我已经在Stackoverflow上找到的示例,但每个示例都完全破坏了同位素,并且元素甚至没有布局。下面是我拥有的另一种类型的示例,它确实有效,也许有人可以使用它来查看我需要做什么?dist

php - 如何对类似于链表的条目进行排序?

我有以下数据结构,我想根据before和after值对其进行排序。array(size=5)0=>array(size=3)'id'=>int14'parentId'=>int0'before'=>int151=>array(size=3)'id'=>int15'parentId'=>int0'after'=>int142=>array(size=3)'id'=>int9'parentId'=>int0'after'=>int153=>array(size=3)'id'=>int8'parentId'=>int0'after'=>int94=>array(size=3)'id'=>in

php - 按php数组排序

我需要根据getNotifications函数中的值'start_date'DESC顺序对通知数组进行排序:$posts_id_arr=getPoststIds($conn);foreach($posts_id_arras$key=>$val){$total_arr[$key]=['notification'=>getNotifications($val['post_id'],$user_id,$conn)];}$response_array=array('data'=>$total_arr,'morethings'=>$more_array);echojson_encode($res

PHP - 更改字符排序顺序,例如 "a"> "{"= 真

我正在尝试自定义PHP的usort更改字符排序顺序的函数。目前,只有“*”符号字符等同于具有小于字母字符的值,例如“a”,即"*".其他符号,例如“{”,其值大于字母,例如“a”,即"{".我想对值“{*}”进行排序,使其位于已排序数组的顶部,就好像该值是“*”一样。这是我当前正在使用的函数,用于根据对象的多个属性对对象数组进行排序。[归因:它是WillShaver's的修改版本usort上的代码docs.]functionosort($array,$properties){//Casttoanarrayandspecifyascendingorderforthesortifthepr

php - 使用 PHPExcel 对 protected 单元格进行排序

我有一个从PHPExcel输出的电子表格,一切都完美显示。我已经按如下方式保护了工作表:$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);效果很好。在工作表中,我有一个表格,其中一些列是可编辑的(表格位于单元格A28:H50中-单元格E29:H50将是可编辑的-即4列,除标题外的所有行)。要取消保护这些单元格,我使用以下方法:$objPHPExcel->getActiveSheet()->getStyle('E29:H50')->getProtection()->setLocked(PHPExcel_Styl