PHP中陣列元素公升序 降序及重新排序的函式

2021-06-14 03:06:06 字數 3637 閱讀 9320

在php陣列學習摘錄部分了解到最基本的php陣列的建立和陣列元素的顯示。需要深入學習下php陣列的相關操作。首先接觸的就是陣列元素的公升序、降序的排序問題。

1、快速建立陣列的函式range()

比如range()函式可以快速建立從1到array的數字陣列:

以下為引用的內容:

<?php

$numbers=range(1,array);

echo $numbers[1];

?>

當然,使用range(array,1)則建立了array到1的數字陣列。同時,range()還可以建立從a到z 的字元陣列:

以下為引用的內容:

<?php

$numbers=range(a,z);

foreach ($numbers as $mychrs)

echo $mychrs." ";

?>

使用字元陣列時注意大小寫,比如range(a,z)和range(a,z)是不一樣的。

range()函式還具有第三個引數,該引數的作用是設定步長,比如range(1,array,3)建立的陣列元素是:1、4、7

2、php中常規陣列的排序

一般陣列中的各元素均以字元或數字表現的,所以可對陣列元素進行公升序排列,該功能函式為sort()。比如:

以下為引用的內容:

<?php

$people=array(』name』,』***』,』nation』,』birth』);

foreach ($people as $mychrs)

echo $mychrs." ";

sort($people);

echo "

---排序後---

";foreach ($people as $mychrs)

echo $mychrs." ";

?>

公升序排序後的陣列元素顯示為 birth name nation ***,當然,sort()函式是區分字母大小寫的(字母從大到小的順序是:a…z…a…z)

sort()函式還具有第二引數,用來說明公升序的規則是用來比較數字還是字串的。比如:

以下為引用的內容:

<?php

echo "---按數字公升序排序---

";$num2=array(』26』,』3』,);

sort($num2,sort_numeric);

foreach ($num2 as $mychrs)

echo $mychrs." ";

echo "

---按字元公升序排序---

";$num3=array(』26』,』3』);

sort($num3,sort_string);

foreach ($num3 as $mychrs)

echo $mychrs." ";

?>

sort_numeric和sort_string用來宣告按數字或字元的公升序排列。如果按照數字公升序排列是:3,26;但如果按照字元公升序排列則是:26,3了。

php中除了公升序函式以外,還有降序或稱反向排列的函式,就是rsort()函式,比如:

以下為引用的內容:

$num1=range(1,array);

rsort($num1);

這裡其實就相當於range(array,1)

3、php中關聯陣列的排序

以下為引用的內容:

$peoples=array(』xm』=>』name』,』xb』=>』***』,』mz』=>』nation』,』cs』=>』birth』);

使用sort($peoples)預設即是按照元素定義值的公升序排序,在關聯陣列中可使用asort()函式表示,關聯陣列中最主要的則是可按照關鍵字(如xm、xb、mz等)的公升序排序,該方法是用函式ksort()函式。

以下為引用的內容:

<?php

$peoples=array(』xm』=>』name』,』xb』=>』***』,』mz』=>』nation』,』cs』=>』birth』);

foreach ($peoples as $mychrs)

echo $mychrs." ";

echo "

--按元素值公升序排列--

";asort($peoples);

foreach ($peoples as $mychrs)

echo $mychrs." ";

echo "

--按關鍵字公升序排列--

";ksort($peoples);

foreach ($peoples as $mychrs)

echo $mychrs." ";

?>

和常規陣列擁有sort()公升序函式的反向排序rsort()降序函式相對應的,關聯陣列也有對應的降序函式:asort()函式和arsort()函式、ksort()函式和krsort()函式。

4、php陣列元素隨機排序

php中使用shuffle()函式將陣列元素進行隨機的重新排序,比如:

以下為引用的內容:

<?php

$fer=array(』cnbruce』,』cnrose』,』cnjames』,』cnanne』);

shuffle($fer);

foreach ($fer as $mychrs)

echo $mychrs." ";

?>

每次都會顯示不同的排序組合

5、php陣列按原順序反向排序

php中可使用array_reverse()函式將陣列元素按原順序反向排序。比如:

以下為引用的內容:

<?php

$fer=array(』cnbruce』,』cnrose』,』cnjames』,』cnanne』);

foreach ($fer as $mychrs)

echo $mychrs." ";

$fer=array_reverse($fer);

echo "

--按原順序反向--

";foreach ($fer as $mychrs)

echo $mychrs." ";

?>

cnbruce cnrose cnjames cnanne

--按原順序反向--

cnanne cnjames cnrose cnbruce

注意這裡的 $fer=array_reverse($fer); 在此之前的任何排序函式均只是宣告引用,並沒有對原有陣列進行重新定義,但當我除錯該函式時則需要重新定義。這是因為array_reverse()是返回原陣列修改後的副本,如果不需要原有陣列,可對原陣列重新定義達到覆蓋的目的,否則就另外定義陣列儲存副本,比如:$fer_bak=array_reverse($fer);

「華夏名網」 和 是成都飛數科技****的網路服務品牌,專業經營虛擬主機,網域名稱註冊,vps,伺服器租用業務。公司建立於2023年,經過6年的高速發展,「華夏名網」已經成為我國一家知名的網際網路服務提供商,被國外權威機構webhosting.info評價為十大idc服務商之一。

華夏名網**導航: 虛擬主機

雙線主機

主機網域名稱註冊

cn網域名稱

網域名稱伺服器租用

酷睿伺服器

vpsvps主機

PHP中陣列元素公升序 降序及重新排序的函式

在php陣列學習摘錄部分了解到最基本的php陣列的建立和陣列元素的顯示。需要深入學習下php陣列的相關操作。首先接觸的就是陣列元素的公升序 降序的排序問題。1 快速建立陣列的函式range 比如range 函式可以快速建立從1到9的數字陣列 numbers range 1,9 echo number...

iOS iOS之陣列的排序(公升序 降序及亂序)

nsmutablearray pricearray nsmutablearray arraywithobjects 0.2 5 44 67 98.5 1.55 nil pricearray sortusingcomparator nscomparisonresult id nonnull obj1,...

php陣列中刪除元素,再重新索引

之前如果要在某個陣列中刪除乙個元素,我是直接用的unset,也不管unset之後會發生什麼。但今天看到的東西卻讓我大吃一驚 arr array a b c d unset arr 1 print r arr print r arr 之後,結果卻不是那樣的,最終結果是 array 0 a 2 c 3 ...