php排序数组的值

时间:2017-10-27 02:36:54

标签: php sorting

id对这里的排序功能有点帮助,我想弄明白但是不能。

<?php
  if ($handle = opendir('uploads')) {
    while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != ".."){ 
      sort ($file);
        $thelist .= '<li><a href="uploads/'.$file.'" target="_top">'.$file.'</a><img src="uploads/'.$file.$media.'" width="25" height="25"</li>';
      }
    }
    closedir($handle);
  }

?>

<ul><?php echo $thelist; ?></ul>

所以这不排序......

以下将会,但不会显示一些文件。

我只对顶级代码的sort函数感兴趣,我付了一个人写下面的一半来试着理解函数排序

从我可以想象的是建议$ file显示列表,然后使用各种$ ..我坚持什么停止$文件得到字母排列之前被告知要显示什么,(最好的我得到的是一个显示按字母顺序排列的数字列表(数字是),但它没有排序)

function showDir($dir, $i, $lar, $lon, $lin)
    {

        print("<style>.box { border-style: outset ; border-width: 1px ; border-color: #A3C5CC ; border-radius: 8px ; -moz-border-radius: 8px }</style>") ;

        print("<script language='JavaScript'>
        <!--
        function MM_openBrWindow(theURL,winName,features) { //v2.0
          window.open(theURL,winName,features);
        }
        //-->
        </script>") ;


        $i++;
        if($checkDir = opendir($dir))
        {
            $cFile = 0;
            while($file = readdir($checkDir))
            {
                if($file != "." && $file != "..")
                {
                    if(!is_dir($dir . "/" . $file))
                    {
                        $listFile[$cFile] = $file;
                        $cFile++;
                    }
                }
            }

            if(count(@$listFile) > 0)
            {
                print("<table cellspacing='1' cellpadding='0' border='0'><tr>") ;

                sort($listFile);

                $x = 0 ;

                for($k = 0; $k < count($listFile); $k++)
                {
                    $spacer = "";

                    for($l = 0; $l < $i; $l++)
                        $spacer .= "&emsp;";

                    if($x % $lin == 0)
                        print("</tr><tr>") ;

                    $img = $listFile[$k] ;

                    $tmp = explode(".", $img) ;

                    $x++ ;

                    if($tmp[1] == 'jpg' OR $tmp[1] == 'bmp' OR $tmp[1] == 'gif' OR $tmp[1] == 'png' 
                    OR $tmp[1] == 'tga' OR $tmp[1] == 'tif' OR $tmp[1] == 'eps')
                    {

                        print("<td>") ;
                        print("<table class='box' bgcolor='#9ABBC1' cellspacing='0' cellpadding='0' border='0' width='" . ($lon+10) . "' height='" . ($lar+27) . "'><tr>") ;

                        print("<td align='center'><small><b>" . ($k+1) . "</b></small></td></tr><tr>") ;

                        print("<td align='center'>") ;

                        $srcimg = $dir . "/" . $spacer . $img ;

                        list($width, $height, $type, $attr) = getimagesize($srcimg);

                        print("<a href='#' onClick=\"MM_openBrWindow('display.php?img=$srcimg&lon=$width&lar=$height','','width=" . $width . ",height=" . $height . ",left=100,top=100,scrollbars=no,toolbars=no')\">") ;
                        print("<img src='" . $srcimg . "' width='" . $lar . "' height='" . $lon . "' alt='" . $img . "' title='" . $img . "' border='0'></a></td>");
                        print("</tr></table>\n") ;
                        print("</td>") ;
                    }
                    else 
                        $x-- ;
                }
                print("</tr></table>\n") ;

                print("<br><small>" . $k . " Images displayed<b></b></small>") ;
            }
            closedir($checkDir);
        }
    }

}

?>

2 个答案:

答案 0 :(得分:0)

您应该使用scandir功能代替readdir

  

sorting_order默认情况下,排序顺序是按字母顺序排列的   升序。如果可选的sorting_order设置为   SCANDIR_SORT_DESCENDING,然后排序顺序是按字母顺序排列的   降序排列。如果设置为SCANDIR_SORT_NONE,则结果为   未分选的。

答案 1 :(得分:0)

class Model(object):
    def __init__(self, app):
        self.app = app
        self.hello = self.app.route("/hello")(self.hello) 

    def hello(self):
        return "hello world!"