導航:首頁 > 編程語言 > php大小排序

php大小排序

發布時間:2024-05-19 15:06:15

1. 在php中,比較三個數大小,由小到大排列

$a=3;$b=2;$c=1;function compare(&$x,&$y){ if($x>$y){ $temp=$y; $y=$x; $x=$temp; }}compare($a,$b);// a,b中 小的值存在a,大的值存在bcompare($a,$c);// a,c中 小的值存在a,大的值存在c //到這一步 a中值最小compare($b,$c);// b,c中 小的值存在b,大的值存在c //到這一步 c中值最大echo "{$a}<{$b}<{$c}";

2. php數組排序通過id鍵小到大排

首先要糾正一個問題,'a'=>aa這個寫法是錯誤的,aa是字元串,一定要要上引號('a'=>'aa')。
這個排序很簡單,只需要用到php的兩個函數。
1、我先合並數組 array_merge();
$arr[0]=array('id'=>2,'a'=>'aa');
$arr[1]=array('id'=>1,'a'=>'aa');
$arr[2]=array('id'=>3,'a'=>'aa');
$arr=array_merge($arr);//合並數組
2、按數字從小到大排序 sort();
sort($arr);//進行排序
3、最後得到的數據如下:
Array
(
[0] => Array
(
[id] => 1
[a] => aa
)

[1] => Array
(
[id] => 2
[a] => aa
)

[2] => Array
(
[id] => 3
[a] => aa
)

)

3. PHP For 循環 怎麼能把 數組 從小到大排列呢

用非常典型的冒泡排序即可實現,具體實現思路如下列代碼所示:

<?php
//首先定義一個數組;
$arr=array(100,23,69,2,50,31);
//計算數組的長度;
$length=count($arr);
//外層循環n-1
for($n=0;$n<$length-1;$n++){
//內層循環n-i-1
for($i=0;$i<$length-$n-1;$i++){
//判斷數組元素大小,交換位置,實現從小往大排序
if($arr[$i]>$arr[$i+1]){
$temp=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$temp;
}

}

}
print_r($arr);
//Array([0]=>2[1]=>23[2]=>31[3]=>50[4]=>69[5]=>100)

?>

4. 鐢≒HP緙栧啓紼嬪簭 鏈変竴涓鏁扮粍$arr=array(4,3,8,9,2),灝嗗叾鎸変粠灝忓埌澶х殑欏哄簭閲嶆柊鎺掑簭

<?php
$array=array(4,3,8,9,2);

sort($array);
echo "鏍囧噯鎺掑簭\n";
for($i=0;$i<count($array);$i++){
echo $array[$i];
}

natsort($array);
echo "\n鑷鐒舵帓搴\n";
for($i=0;$i<count($array);$i++){
echo $array[$i];
}

?>
緇撴灉濡備笅錛
鏍囧噯鎺掑簭 23489 鑷鐒舵帓搴 23489

5. 鎬庝箞浣跨敤php瀵規暟緇勬帓搴忥紵

1銆佹柊寤轟竴涓163.php銆

6. 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)把小於基準值元素的子數列和大於基準值元素的子數列排序。

7. 輸入5個數,按從大到小排序,用php動態頁面實現。

<p>請輸入要排序的數據</p>
<form id="form1" name="form1" method="post" action="">
<input name="textfield" type="text" id="textfield" size="15" maxlength="15" />
-
<input name="textfield2" type="text" id="textfield2" size="15" />
-
<input name="textfield3" type="text" id="textfield3" size="15" />
-
<input name="textfield4" type="text" id="textfield4" size="15" />
-
<input name="textfield5" type="text" id="textfield5" size="15" />
<input type="submit" name="button" id="button" value="提交" />
</form>
<?

if(isset($_POST['button'])){
echo "排序後的數據如下所示:";
echo '<br/>';
$array=array(
"0"=>$_POST['textfield'],
"1"=>$_POST['textfield2'],
"2"=>$_POST['textfield3'],
"3"=>$_POST['textfield4'],
"4"=>$_POST['textfield5'],);//把數字存到數組中
sort($array);//php函數排序從小到大
foreach($array as $key => $value){
echo $value;//循環輸出值
echo '<br/>';
}

}

?>

8. 用php定義一個數組,要求把數組從大到小排序並輸出

array_multisort()函數是PHP中最有用的函數之一,它有非常廣泛的應用范圍。另外,就如你在例子中所看到的,它能對多個不相關的數組進行排序,也可以使用其中的一個元素作為下次排序的基礎,還可以對資料庫結果集進行排序。

閱讀全文

與php大小排序相關的資料

熱點內容
怎麼看網站被加密的視頻 瀏覽:846
哪個app可以弄會動的照片模板 瀏覽:272
如何關閉電腦的時鍾源伺服器 瀏覽:902
adb命令設置主屏幕應用 瀏覽:990
編譯後的bak文件 瀏覽:259
php生成文件名 瀏覽:880
日照智能車輛移動機器人導航演算法 瀏覽:115
解壓力的食療 瀏覽:125
密鑰如何加密隨機數 瀏覽:381
統計學中pre的演算法 瀏覽:411
inline函數在編譯時不做類型檢查 瀏覽:268
經緯度查詢android 瀏覽:762
vivoz5x方舟怎麼進伺服器 瀏覽:498
vivox50安卓微信人臉支付怎麼開啟 瀏覽:895
cmd退出python命令 瀏覽:533
恢復u盤加密隱藏的文件 瀏覽:923
對某個人加密應該用公鑰 瀏覽:1000
機頂盒中央1加密 瀏覽:97
單片機的出現有什麼影響 瀏覽:230
linuxtar備份系統 瀏覽:63