常见方法


 // 冒泡排序
  function m_sort($arr)
  {
      $len = count($arr);
      for ($i = 0; $i < $len -1; $i++) {//循环对比的轮数
          for ($j = 0; $j < $len - $i - 1; $j++) {//当前轮相邻元素循环对比
              if ($arr[$j] > $arr[$j + 1]) {//如果前边的大于后边的
                  $tmp = $arr[$j];//交换数据
                  $arr[$j] = $arr[$j + 1];
                 $arr[$j + 1] = $tmp;
             }
         }
     }
     return $arr;
 }
 $arr = [5,2,4,7,9,4,1,6,8,3,2];
 echo '<pre>';
 $array = m_sort($arr);

 

$data = array(
    array('id' => 1, 'pid' => 0, 'name' => '河北省'),
    array('id' => 2, 'pid' => 0, 'name' => '北京市'),
    array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
    array('id' => 4, 'pid' => 2, 'name' => '朝阳区'),
    array('id' => 5, 'pid' => 2, 'name' => '通州区'),
    array('id' => 6, 'pid' => 4, 'name' => '望京'),
    array('id' => 7, 'pid' => 4, 'name' => '酒仙桥'),
    array('id' => 8, 'pid' => 3, 'name' => '永年区'),
    array('id' => 9, 'pid' => 1, 'name' => '武安市'),
);
//递归无限极分类
function getAllChildClass($data, $cid = 0, $keyname='id', $pidname='pid')
{
    $cdata = [];
    foreach($data as $key => $val)
    {
        if($val[$pidname] == $cid){
            $rs = getAllChildClass($data, $val[$keyname]);
            $val['children'] = !empty($rs) ? $rs : [];
            $cdata[] = $val;
        }
    }
    return $cdata;
}

 

$new_array = array();
//获取文件下所有的文件
function loopDir($dir,&$new_array)
{
  $handle = opendir($dir);
  while(($file = readdir($handle))!== false ){
    if ($file != '.' && $file != '..'){
      if (filetype($dir.'/'.$file) != 'dir'){
        //echo $dir . '/' . $file.'<br>';
        array_push($new_array,$dir . '/' . $file);
      }
      if (filetype($dir.'/'.$file) == 'dir'){
        loopDir($dir.'/'.$file,$new_array);
      }
    }
  }
}
$dir = 'D:\php\phpstudy\phpstudy_pro\WWW';
loopDir($dir,$new_array);

 

posted @ 2023-03-22 21:55  Mr丿Luo  阅读(58)  评论(0)    收藏  举报