首頁 php教程 php手册 探讨如何实现PHP数组排序

探讨如何实现PHP数组排序

Jun 13, 2016 am 11:07 AM
php sort usort 函數 如何 實現 我們 排序 探討 陣列 自訂 這個

在在了解了usort自定义排序后,我们再来看看sort(),这个函数可谓是数组里的排序函数的鼻祖,大家肯定发现所有的PHP数组排序函数都会带有sort作为后缀。函数原型:bool sort ( array &array [, int sort_flags] )说明:基本上每个函数都会有个可选的参数,sort也不例外。这个可选参数指明的一种习惯。

可选类型有如下几种:
◆SORT_REGULAR – 正常比较单元(不改变类型) //按照ASCII值排序(B大于a)
◆SORT_NUMERIC – 单元被作为数字来比较 //对整数和浮点数常用这种参数
◆SORT_STRING – 单元被作为字符串来比较
◆SORT_LOCALE_STRING – 根据当前的区域(locale)设置来把单元当作字符串比较

还是看个例子,来自帮助手册:

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><!--SP--><span class="tag-name">php</span></span></font></strong><span> </span></span></li>
<li>
<span>$</span><span class="attribute"><font color="#ff0000">fruits</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array</font></span><span>("lemon", "orange", "banana", "apple");  </span>
</li>
<li class="alt"><span>sort($fruits);  </span></li>
<li>
<span>foreach ($fruits as $</span><span class="attribute"><font color="#ff0000">key</font></span><span> =</span><span class="tag"><strong><font color="#006699">&gt;</font></strong></span><span> $val) {  </span>
</li>
<li class="alt"><span>echo "fruits[".$key."] = " . $val . "n";  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span class="tag"><strong><font color="#006699">?&gt;</font></strong></span><span> </span>
</li>
</ol>
登入後複製

这个PHP数组排序的结果如下:

<ol class="dp-xml">
<li class="alt"><span><span>fruits[0] = apple  </span></span></li>
<li><span>fruits[1] = banana  </span></li>
<li class="alt"><span>fruits[2] = lemon  </span></li>
<li><span>fruits[3] = orange </span></li>
</ol>
登入後複製

大家可以发现,原来是索引为0的lemon,再排序后就变成了apple。为了保持原来的键/值不变,你可以把sort()换成asort()即可。另外这两个函数是对键进行升序的排列(a在b的前面)。如果要使其进行降序,只要使用rsort()代替即可,相对应的arsort()是保持原来的键/值的相关联性的。

下面简要介绍下ksort()函数

这个函数主要是用来对关联数组进行而存在,它的“姐妹”函数uksort()是使用自定义函数而进行比较的。一句话:ksort()对于关联级数,对键进行排序并保留键名到数据的关联。数组的自然排序,到目前为止我们所知道的排序函数要么是用默认的方式,要么按照自定义的方式进行排序。那么natsort()则使用一种人性化的排序方式来对数组进行排序。在此就不说了,实例可以查看手册,如果你手头上没有PHP帮助手册,你可以在浏览本站在线帮助手册进行查看

<ol class="dp-xml">
<li class="alt"><span><span>shuffle()//函数的使用  </span></span></li>
<li><span>Shuffle()//用来对一个数组进行随机排序,这个有点像抽签,其他的就不多说了。到用的时候再看吧。  </span></li>
<li class="alt"><span>array_rand()//函数的使用  </span></li>
<li><span>array_rand()//函数和shuffle()差不多,也是随机返回数组中的元素,如下调用:  </span></li>
<li class="alt"><span>array_rand ( array [, int num_req] ) //可选参数指出你要返回的个数。 </span></li>
</ol>
登入後複製

PHP数组排序的方式就介绍到这,希望对大家有所帮助。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles