1. php 排序问题
其实PHP有好多数组排序的函数,没必要自己去写,自带的效率更高
参考http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html
2. PHP查询并排序
从你要输出的结果来看,你这样实现法不太科学,代码不高效,数据量少时还算说得过去,若上万数据的话,服务器会崩溃。建议你在数据库结构上进行改进,对于排序的字段设计可以采用人为可控制的数值,这样你要实现的话,一个sql语句搞定到数组后,你想输出哪种格式都是可以的了。你去参考下那些知名的CMS系统的数据库设计结构,我想你会受到启发的。
记得给分!!!
3. php 文本数据 升序排列
function tail_file($file_e) {
@$msg=file($fil_el);
$total=count($msg);
$tmp = array();
for ($i = $total-1, $num=0; $i>=0 && $num<100; $i--) {
if ($msg[$i] != '') {
list($weburl,$webimage,$webjj,$time,$username)=explode("|!:!|",$msg[$i]);
$tmp[] =<<EOT
<a href="$weburl" target="_blank"><img src="$webimage" alt="$webjj" width="88" height="31"></a><br>
EOT;
$num ++;
}
}
return implode('', $tmp);
}
4. PHP数组排序
php中数组自定义排序 使用 usort函数
PHP usort
$arr=array("哈哈-默默-122","吸收-伏牛山-7","啥的-都是-12");
usort($arr,function($v1,$v2){
//将两个值切割
$va1=explode('-',$v1);
$va2=explode('-',$v2);
//取两个值的最后一段数字
$num1=intval(array_pop($va1));
$num2=intval(array_pop($va2));
//返回比较结果
return$num2>$num1?1:($num2<$num1?-1:0);
});
var_export($arr);
你看下上面排序结果是否你要的,如果反了,把return中的1和-1换一换就可以了
5. 谁知道PHP的readdir是根据什么排序的
目录项的排序在不同unix实现上不同,一般不按字母顺序排列,不同文件系统上也可能存在差异,有些是按dirent结构中的偏移量d_off排列的,但不能保证所有的都是这样
6. PHP自动排序
<?php
//fetch lines to array '$lines'
$lines = file('file.txt');
//mp array before sorted;
mp_array($lines);
//filte lines which length great then 50
foreach($lines as $key => $val){
if(strlen($val) > 50){
unset($lines[$key]);
}
}
//sort array $lines by function _f() ;
usort($lines , '_f');function _f($a , $b){
$r = strlen($a) - strlen($b);
if($r != 0){
return $r;
}else{
//
}
}
//function to show contents of array
function mp_array($ary){
$i = 0 ;
foreach($ary as $v){
echo '<li>line #' ,str_pad($i++ , 4 , 0 , STR_PAD_LEFT) , ' : <span style=" font-family: Courier New; "><u>' , $v ,'</u></span>';
}
echo '<hr>';
}
//mp array after sorted;
mp_array($lines);
?>
7. 用php如何实现按钮排序功能,如下图
这种类表排序方法思路如下:
点击按钮后将排序规则带上,比如有两个按钮,一个是id升序 一个是按id降序
那么这两个按钮的链接分别为 index.php?key=id&order=desc index.php?key=id&order=asc
在php文件中收到key和order两个参数后构造sql语句时的order by就有了,这样从数据库拿到的数据就自然排序好了,直接填充在table里就好了。
8. PHP数组重新排序
说一下原因,str_replace返回的是字符串类型,所以数组的下标其实是字符串,而不是数字索引。
你只需对返回值做一下类型转换,转成整形
$key = intvla( str_replace( ".jpg", "", $filename ) );
在遍历时使用 foreach 而不是 for 就可以跳过缺掉的数组元素
比如:
$names = array();
$names[0] = 'Kay';
$names[2] = 'Mary';
$names[3] = 'Kissy';
foreach($names as $value) {
echo $value;
}
//结果:KayMaryKissy
9. php数组怎样排序 order by
<?php
$db=array(
1=>array(
id=>1,
name=>2
),
2=>array(
id=>3,
name=>1
),
5=>array(
id=>1,
name=>2
),
4=>array(
id=>3,
name=>1
),
8=>array(
id=>1,
name=>2
),
34=>array(
id=>3,
name=>1
),
3=>array(
id=>5,
name=>3
)
);
function call_back($a , $b){
return intval($a['name']) - intval($b['name']);
}
usort($db , 'call_back');
echo "<pre>";
print_r($db);
echo "</pre>";
?>
10. php 表格排序
<?php
$a=25;
$str="<table><tr>";
for($i=1;$i<=$a;$i++){
if($i%5==1){
$str.="</tr><tr>";
}
$str.="<td>".$i."</td>";
}
$str.="</tr></table>";
echo $str;
?>
第2种:
<?php
$a=5;
$str="<table>";
for($i=1;$i<=$a;$i++){
$str.="<tr><td>".$i."</td><td>".($i+($a*1))."</td><td>".($i+($a*2))."</td><td>".($i+($a*3))."</td><td>".($i+($a*4))."</td><td></tr>";
}
$str.="</table>";
echo $str;
?>