php关联数组快速排序的方法_php技巧

本文实例讲述了php关联数组快速排序的方法。分享给大家供大家参考。具体如下:

<?php
 function qsort($a,$f) {
 qsort_do(&$a,0,Count($a)-1,$f);
 }
 function qsort_do($a,$l,$r,$f) {
 if ($l < $r) {
   qsort_partition(&$a,$l,$r,&$lp,&$rp,$f);
   qsort_do(&$a,$l,$lp,$f);
   qsort_do(&$a,$rp,$r,$f);
  }
 }
 function qsort_partition($a,$l,$r,$lp,$rp,$f) {
 $i = $l+1;
 $j = $l+1;
  while ($j <= $r) {
   if ($f($a[$j],$a[$l])) {
    $tmp = $a[$j];
    $a[$j] = $a[$i];
    $a[$i] = $tmp;
    $i++;
   }
   $j++;
 }
 $x = $a[$l];
 $a[$l] = $a[$i-1];
 $a[$i-1] = $x;
 $lp = $i - 2;
 $rp = $i;
}
?>

希望本文所述对大家的php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 快速排序
关联数组
php 关联数组排序、关联数组排序、js 关联数组排序、2个关联数组排序、php 关联数组按值排序,以便于您获取更多的相关知识。

时间: 2024-10-15 14:10:41

php关联数组快速排序的方法_php技巧的相关文章

详解PHP对数组的定义以及数组的创建方法_php技巧

传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模.棒球队.水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key).请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素.PHP则更进一步,数组中的元素甚至可以不属于同一种类型.例如,一个数组可能包含州名.邮政编码.考试成绩或扑克牌等元素. 每个实体包含两个项:前面提到的健(key)和值(value).可以通过查询键来获

php通过array_push()函数添加多个变量到数组末尾的方法_php技巧

本文实例讲述了php通过array_push()函数添加多个变量到数组末尾的方法.分享给大家供大家参考.具体分析如下: php通过array_push()函数添加多个变量到数组末尾,array_push函数接受任意数量的变量添加. <?php $alpha = array("a", "b", "c"); $final = array_push($alpha, "d","e"); print "

php数组分页实现方法_php技巧

本文实例讲述了php数组分页实现方法.分享给大家供大家参考,具体如下: <?php $arr_click = array( array( 'clicks' => 3, 'clickDate' =>'2010-10-11' ), array( 'clicks' => 2, 'clickDate' =>'2010-10-10' ), array( 'clicks' => 3, 'clickDate' =>'2010-10-09' ), array( 'clicks'

php简单实现数组分页的方法_php技巧

本文实例讲述了php简单实现数组分页的方法.分享给大家供大家参考,具体如下: 首先学东西  要多看手册 用php自带的函数  可以解决一些难解的问题 <?php /** * Created by JetBrains PhpStorm. * User: Administrator * Date: 13-6-11 * Time: 上午11:43 * To change this template use File | Settings | File Templates. */ header("

php实现两个数组相加的方法_php技巧

本文实例讲述了php实现两个数组相加的方法.分享给大家供大家参考.具体如下: 实例1: <?php $arr1 = array("a"=>"朝阳区","b"=>"海淀区"); $arr2 = array("h"=>"西城区","a"=>"东城区","b"=>"丰台区");

php对象和数组相互转换的方法_php技巧

本文实例讲述了php对象和数组相互转换的方法.分享给大家供大家参考.具体分析如下: 这里定义2个php匿名对象和数组相互转换的函数,代码如下: function array2object($array) { if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key => $val){ $obj->$key = $val; } } else { $obj = $array; } return $obj; } fu

PHP使用array_merge重新排列数组下标的方法_php技巧

本文实例讲述了PHP使用array_merge重新排列数组下标的方法.分享给大家供大家参考.具体如下: 用了一个array_unique去除了一个数组里面的重复,但是发现下标保留了原数组的下标,但是php使用for循环需要下标整齐,所以寻找重新排列数组下标的方法array_merge可以解决这个问题 array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果

php使用array_search函数实现数组查找的方法_php技巧

本文实例讲述了php使用array_search函数实现数组查找的方法.分享给大家供大家参考.具体实现方法如下: <?php $array = array(4,5,7,8,9,10); $found = array_search(8, $array); //调用array_search函数并输出查找结果 if($found) //如果找到输出键 echo "已找到,键为".$found; else //如果没有找到输出错误信息 echo "没有找到"; ?&g

php简单实现快速排序的方法_php技巧

本文实例讲述了php简单实现快速排序的方法.分享给大家供大家参考.具体实现方法如下: function quicksort($seq) { if(!count($seq)) return $seq; $k = $seq[0]; $x = $y = array(); for($i=count($seq); --$i;) { if($seq[$i] <= $k) { $x[] = $seq[$i]; } else { $y[] = $seq[$i]; } } return array_merge(q