當前位置:首頁 » 編程語言 » php排列

php排列

發布時間: 2022-12-21 16:05:13

A. php 怎樣按日期排序

php讀取文件夾目錄里的文件後,可以並按照日期,大小,名稱排序。

參考代碼如下:

functiondir_size($dir,$url){
$dh=@opendir($dir);//打開目錄,返回一個目錄流
$return=array();
$i=0;
while($file=@readdir($dh)){//循環讀取目錄下的文件
if($file!='.'and$file!='..'){
$path=$dir.'/'.$file;//設置目錄,用於含有子目錄的情況
if(is_dir($path)){
}elseif(is_file($path)){
$filesize[]=round((filesize($path)/1024),2);//獲取文件大小
$filename[]=$path;//獲取文件名稱
$filetime[]=date("Y-m-dH:i:s",filemtime($path));//獲取文件最近修改日期

$return[]=$url.'/'.$file;
}
}
}
@closedir($dh);//關閉目錄流
array_multisort($filesize,SORT_DESC,SORT_NUMERIC,$return);//按大小排序
//array_multisort($filename,SORT_DESC,SORT_STRING,$files);//按名字排序
//array_multisort($filetime,SORT_DESC,SORT_STRING,$files);//按時間排序
return$return;//返迴文件
}

B. PHP 多個數組的排列組合

$a = array(1,2,3,4,5,6,7);
$b = array(1,2,3);
$c = array(1,2,3,4,5,6,7,8,9,10);
$d = array($a,$b,$c);
//計算每一個數組的長度
$len = 1;
$arrLen = count($d); //需要排列數組有多少個
$recIndex = null; //記錄當前該取的位置
//foreach 計數
$count_3 = 0;
foreach ($d as $key => $value) {
$lenRec[$count_3] = count($value);
$len = $lenRec[$count_3]*$len;
$recIndex[] = 0;//第一次全部取第0個
$count_3++;
}
//算出% 的值
$count = 1;
foreach ($lenRec as $key => $value) {
$moloVal = 1;

if($arrLen == $count){
$molo[] = count($d[$arrLen-1]); //等於最後一個的長度
}else{
$count_1 = 1;
foreach ($lenRec as $index => $item) {
$count_1 > $count && $moloVal = $moloVal*$item;
$count_1 ++;
}
$molo[] = $moloVal;
}
$count ++;//為了防止$d key是有值的 不是自然序列 需要計數
}
$i = 1;
while ( $i <= $len) {
$html = '';
$count_2 = 0;// 取模
$temp = '';
foreach ($d as $value) {
$html .= $value[$recIndex[$count_2]%$lenRec[$count_2]].",";
$count_2 ++;
}
echo $html."<br>";
foreach ($molo as $key => $value) {
if($i%$value == 0 && $key < $arrLen - 1 ){
$recIndex[$key] = $recIndex[$key] +1;
}
if($key == $arrLen - 1){
if($i%$value == 0){
$recIndex[$key] = 0;
}else{
$recIndex[$key] = $recIndex[$key] +1;
}
}
}
$i ++;
//改變獲取的位置
}

C. php倒序排列和正序排列

  • 可以在後台對欄目進行排序.欄目管理那裡。

  • 使用函數顛倒數組,$arrchildid實際上是個數組。

  • loop就是php里的foreach。

D. PHP實現常見的排序演算法

註:為方便描述,下面的排序全為正序(從小到大排序)

假設有一個數組[a,b,c,d]
冒泡排序依次比較相鄰的兩個元素,如果前面的元素大於後面的元素,則兩元素交換位置;否則,位置不變。具體步驟:
1,比較a,b這兩個元素,如果a>b,則交換位置,數組變為:[b,a,c,d]
2,比較a,c這兩個元素,如果a<c,則位置不變,數組變為:[b,a,c,d]
3,比較c,d這兩個元素,如果c>d,則交換位置,數組變為:[b,a,d,c]
完成第一輪比較後,可以發現最大的數c已經排(冒)在最後面了,接著再進行第二輪比較,但第二輪比較不必比較最後一個元素了,因為最後一個元素已經是最大的了。
第二輪比較結束後,第二大的數也會冒到倒數第二的位置。
依次類推,再進行第三輪,,,
就這樣最大的數一直往後排(冒),最後完成排序。所以我們稱這種排序演算法為冒泡排序。

選擇排序是一種直觀的演算法,每一輪會選出列中最小的值,把最小值排到前面。具體步驟如下:

插入排序步驟大致如下:

快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 演算法更快,因為它的內部循環(inner loop)可以在大部分的架構上很有效率地被實現出來,且在大部分真實世界的數據,可以決定設計的選擇,減少所需時間的二次方項之可能性。

步驟:
從數列中挑出一個元素,稱為 「基準」(pivot),
重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分區退出之後,該基準就處於數列的中間位置。這個稱為分區(partition)操作。
遞歸地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

E. PHP四個數組全排列

雙重foreach拼接:

$a=[1,2,3];
$b=[4,5,6];
$c=[];
foreach($aas$a1)
foreach($bas$b1)
$c[]=$a1.$b1;
print_r($c);

F. php如何排序置頂

第一步,在文章表裡面建兩個欄位,用於做置頂功能。一個是top欄位,timestamp類型,默認選「定義」,用於存儲置頂操作的時間;還有一個flag欄位,int類型,用於判斷是否置頂,置頂為1,否則為0。。
第二步,模板頁面修改。列表選項裡面加置頂列,下面對應的行寫如下代碼:
<td class="center"> {{if $logs[data].flag}} <a href="javaScript:void(0);" onclick="istop('{{$logs[data].id}}',0)">取消置頂</a>{{else}} <a href="javascript:void(0);" onclick="istop('{{$logs[data].id}}',1)">置頂</a>{{/if}}</td>
就是用flag判斷是否置頂了。
頁面對應的置頂js:
function istop(id,flag){
$.ajax({
type: "POST",
url: "?m={{'article'|encrypt}}&a=savePost",data: "id="+id+"&flag="+flag,
dataType:"json",
success: function(msg){
if(msg.status == "true")
{
window.location= '?m={{'article'|encrypt}}';}
else
{
alert(msg.message);
}
}
});
}
第三步,程序里只要稍作修改即可。先按是否置頂排序,再按置頂時間排序,再按默認的排序。
$sql .=" ORDER BY flag DESC,top DESC,id DESC ";(還記得我們添加的欄位嗎?)
這樣就完成了文章置頂的功能。

G. php數組從大到小排序誰幫忙想下感謝

你好,建議使用冒泡排序法,這樣看上去比較清楚明了,你這樣編寫就比較復雜了。

熱點內容
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:993
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:526
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:269
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:979
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:108
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:616
編寫一個shell腳本添加用戶 發布:2025-05-15 09:54:43 瀏覽:505
資料庫查看錶命令 發布:2025-05-15 09:52:27 瀏覽:914
p30是不是自帶方舟編譯器 發布:2025-05-15 09:51:48 瀏覽:599
追擊世界房間密碼是多少 發布:2025-05-15 09:51:46 瀏覽:995