日历

« 2008-10-09  
   1234
567891011
12131415161718
19202122232425
262728293031 

统计信息

  • 访问量: 286
  • 日志数: 5
  • 建立时间: 2007-12-27
  • 更新时间: 2008-01-09

RSS订阅

我的最新日志

  • 求出最大值

    2008-1-09

    <?php
    if (!empty($_GET["add"])) {
     if (!empty($f[0]) && !empty($f[1]) && !empty($f[2]) && !empty($f[3]) && !empty($f[4])) {
      foreach($f as $key => $row) {
       $str = explode(",",$row);
       $a[$key] = $str[0];
      }
      array_multisort($a, SORT_DESC, $f);
      $st = explode(",",$f[0]);
      echo "最大值是:".$st[0];
     } else {
      echo '错误';
     }

    }
    ?>
    <form id="form1" name="form1" method="post" action="?add=ok">
      <label>
      <input name="f[]" type="checkbox" id="f[]" value="10,张" />
      </label>
      <input name="f[]" type="checkbox" id="f[]" value="2011,亮" />
      <input name="f[]" type="checkbox" id="f[]" value="3011,是" />
      <input name="f[]" type="checkbox" id="f[]" value="401,人" />
      <input name="f[]" type="checkbox" id="f[]" value="501,啊" />
      <label>
      <input type="submit" name="Submit" value="提交" />
      </label>
    </form>

  • 一维数组里多个数据 排序

    2008-1-03

    $sql = 'select art,name,yue,menu_id from '.$setup[ 'mysql_database' ].'.menu';
    $query = mysql_query($sql,$mysql);
    while ($rs = mysql_fetch_array($query)) {
     $arr[] .= $rs[ 3 ].','.$rs[ 1 ].','.$rs[ 0 ].','.$rs[ 2 ];
    }


    foreach ( $arr as $key => $row) {
     $str = explode(",",$row);
     $a[$key] = $str[3];
     $b[$key] = $str[2];
    }
    array_multisort($a, SORT_DESC, $b, SORT_DESC, $arr);//主要在这里
    foreach($arr as $line) {
     echo "$line <br>\n";
    }

  • 最近在单位遇到的麻烦事情,一个排序问题。

    2007-12-29

     $top = '';
     $temp = array();
     $numi = array();
     for($i=0;$i<count($dw);$i++){//取出总计
      $name = explode(",",$dw[$i]);
      if($name[0] == '总计'){
       $top = $dw[$i];
      } else {
       $temp[] = $name[0];
       //$numi[] = $name[9];
      }
     }
     
     sort($temp);
     for($i=0;$i<count($temp);$i++){//排序
      for($j=0;$j<count($temp);$j++){
       $name = explode(",",$dw[$j]);
       if($temp[$i] == $name[0]){
         $tm[] = $dw[$j]."<br>\n";
       }
      }
     }
     print_r($tm);

     

    一个排序问题,这个主要是 针对这样的数组排序的,上面的排序代码,是针对单位的名称排序

    思路

    先把要排序的名称取出来,之后和整个数组里进行对比

    Array ( [0] => 安监局,0,0,0,0,0,0,0,0,0
    [1] => 保险行业协会,0,0,0,0,0,0,0,0,0
    [2] => 北京办事处,0,0,0,0,0,0,0,0,0
    [3] => 编委办,0,0,0,0,0,0,0,0,0
    [4] => 财政局,0,0,0,0,0,0,0,0,0
    [5] => 城管综合执法局,0,0,0,0,0,0,0,0,0
    [6] => 大石桥,0,0,0,0,0,0,0,0,0
    [7] => 地税局,0,0,0,0,0,0,0,0,0
    [8] => 地震局,0,0,0,0,0,0,0,0,0
    [9] => 动监局,2,0,0,0,0,0,0,0,20
    )

     

     

    哎,我表达能力不好,看代码吧~!

  • 正好下午有时间,把刚刚的数组排序 写了一个类。经过调试,可以使用

    2007-12-27

    <?php
    /**
    *  ※功能说明               对数据进行排序、提取其中一个数据到第一位,如果不填写可以为空,既是默认
    *  ※作者                   张亮
    *  ※编写日期               07.12.27
    *  ※FileName:              sort.php
    *  ※Arr()                  排序:desc、asc
    *  ※Arr_Sort_Set()         $arr==数组、$n提取数据排在第一位
    */
    class Arr {
     
     var $SortArr = '';//数组排序  desc、asc
     var $Arr_Get = '';//返回

     function Arr($Sort) {

       $this->SortArr=$Sort;

     }
    //===== 
     function Arr_Sort_Set( $arr , $n ) {
      
       if (!is_array( $arr )){//检测 是否是数组
        exit('你输入的不是数组');
       }
       switch ( $this->SortArr ) {//判断升序  降序
        case 'desc':
         arsort($arr);
        break;
        case 'asc';
         sort ($arr);
        break;
        default:

       }
       $num=1;
       foreach ( $arr as $key => $arrline ) {//循环数据 并取出需要的一条数据  排在第一位
        if ( $arrline == $n ){
         $get[0] = $arrline;

        } else {
         $get[$num] .= $arrline;++$num;
         
        }
       }
       $this->Arr_Get = $get;
     }
    //===== 返回数据
     function Arr_Sort_Get() {
      return $this->Arr_Get;
     }
    }

     

    //调用方法
    $string = array("1","2","张亮","4","5","6","总计","7","张亮");
    $foo = new Arr('asc');
    $foo -> Arr_Sort_Set( $string , '5' );//传入数据到类中
    $n = $foo->Arr_Sort_Get();//读取返回的数组
    //返回一组数据,FOR循环出来
    //echo count($n);


    for ($i=0;$i<count($n);$i++){//循环数据
     echo $n[$i];
    }
    ?>

  • 数组排序,等级排序

    2007-12-27

    <?php
    /**
    * 作者:张亮
    * OICQ:979314
    * 数组  独立提取出数组中的一个值,放到第一位,之后进行排序

    *第一次写东西,写的不好,高手路过指点下
    */
    $arr = array("张亮","张亮","但是","但是","反对","第一个","总计","数组","张张");//建立数组

    $num=0;//初始化数组 keys
    $top = '';//第一条记录  NULL

    for( $i=0;$i<count($arr);$i++) {
     if ($arr[$i] != "第一个") {//如果$arr[$i]数组中循环时   不等于   "第一个" 执行
      $arr_arr[] = $arr[$i] ;//
     } else {//等于 “第一个”  就可以把第一条记录单独取出
      $top = $arr[$i];
     }
    }
    print_r($arr_arr);
    echo $top.'<br>';//输出第一条记录
    //sort($arr);

    //下面是等级排序,时间关系,我就不写了
    $n = 0;
    $t = '';
    for ($i=0;$i<count($arr_arr); $i++) {
     if ( $arr_arr[$i] == $t) {
      $string .= '数组:'.$arr_arr[$i].'&nbsp;&nbsp;等级:'.$n.'<br>';
     } else {
      $string .= '数组:'.$arr_arr[$i].'&nbsp;&nbsp;等级:'.++$n.'<br>';
     }

     $t = $arr_arr[$i];
    }
    echo $string;

    ?>

Open Toolbar