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;
?>