重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个自己在具体操作之前判断一下就行了,如果是.或者..就跳过不就ok了
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了阳新免费建站欢迎大家使用!
scandir列出指定路径中的文件和目录 (PHP 5)
array scandir ( stringdirectory [, intsorting_order [, resourcecontext]] )
返回一个 array,包含有 directory
中的文件和目录。 参数directory要被浏览的目录 sorting_order默认的排序顺序是按字母升序排列。如果使用了可选参数 sorting_order(设为
1),则排序顺序是按字母降序排列。 contextcontext 参数的说明见手册中的 Streams API 一章。 返回值成功则返回包含有文件名的 array,如果失败则返回 FALSE。如果 directory 不是个目录,则返回布尔值
FALSE 并生成一条 E_WARNING
级的错误。
例 457. 一个简单的 scandir() 例子copy to clipboard$dir =
'/tmp';
$files1
= scandir($dir);
$files2
= scandir($dir, 1);
print_r($files1);
print_r($files2);
上例的输出类似于:copy to clipboardArray
(
[0] = .
[1]
= ..
[2] = bar.php
[3] = foo.txt
[4] =
somedir
)
Array
(
[0] = somedir
[1] = foo.txt
[2] = bar.php
[3] = ..
[4] = .
)
多重排序,order by 字段 方式,字段 方式...
order by age desc,id desc 先按年龄降序,相同的年龄里按id降序
order by id,age desc 先按id升序,相同的id里按年龄降序
至于你到底需要什么样的排序方式,按这个思路自己写就可以了
你可以找到这个查询的sql在where条件后面加一个ORDER BY ID DESC
也可以使用PHP方法
$arrUsers = array(
array(
'id' = 1,
'name' = '张三',
'age' = 25,
),
array(
'id' = 2,
'name' = '李四',
'age' = 23,
),
array(
'id' = 3,
'name' = '王五',
'age' = 40,
),
array(
'id' = 4,
'name' = '赵六',
'age' = 31,
),
array(
'id' = 5,
'name' = '黄七',
'age' = 20,
),
);
$sort = array(
'direction' = 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
'field' = 'age', //排序字段
);
$arrSort = array();
foreach($arrUsers AS $uniqid = $row){
foreach($row AS $key=$value){
$arrSort[$key][$uniqid] = $value;
}
}
if($sort['direction']){
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers);
}
var_dump($arrUsers);
?php
$sort = $_GET['sort'];
$order = $_GET['order'];
$order=='' $order='asc';
$order_next=($order=='asc'?'desc':'asc');
switch($sort) {
case 'id':
echo 'SORT BY IDbr';
echo 'ORDER is '.$order;
break;
case 'name':
echo 'SORT BY NAMEbr';
echo 'ORDER is '.$order;
break;
case 'date':
echo 'SORT BY DATEbr';
echo 'ORDER is '.$order;
break;
default:
echo 'WHAT ARE U DOING ??';
}
?
p
a href="?sort=idorder=?php echo $order_next; ?"ID/abr/
a href="?sort=nameorder=?php echo $order_next; ?"NAME/abr/
a href="?sort=dateorder=?php echo $order_next; ?"DATE/abr/
/p
你只需要在每个 CASE 下构造你的sql查询语句就行了,这个实现方法比较简单,但是还有一些不完美的地方,比如 order=$order_next 这个做法并不好,我主要是给你提个我的思路,如果你需要一个更完美的功能,那你就再自己去优化完善一下吧。
升序:sort()函数
降序:rsort()函数
?php
$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "br /---排序后---br /";
foreach ($people as $mychrs)
echo $mychrs." ";
?
PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:
$num1=range(1,9);
rsort($num1);
这里其实就相当于range(9,1)