一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

解析PHP中數組元素升序、降序以及重新排序的函數

1,快速創建數組的函數range()
比如range()函數可以快速創建從1到9的數字數組:
復制代碼 代碼如下:
<?php
$numbers=range(1,9);
echo $numbers[1];
?>

當然,使用range(9,1)則創建了9到1的數字數組。同時,range()還可以創建從a到z 的字符數組:
復制代碼 代碼如下:
<?php
$numbers=range(a,z);
foreach ($numbers as $mychrs)
    echo $mychrs." ";
?>

使用字符數組時注意大小寫,比如range(A,z)和range(a,Z)是不一樣的。
range()函數還具有第三個參數,該參數的作用是設定步長,比如range(1,9,3)創建的數組元素是:1、4、7

2,php中常規數組的排序
一般數組中的各元素均以字符或數字表現的,所以可對數組元素進行升序排列,該功能函數為sort()。比如:
復制代碼 代碼如下:
<?php
$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
    echo $mychrs." ";
sort($people);
echo "<br />---排序后---<br />";
foreach ($people as $mychrs)
    echo $mychrs." ";
?>

升序排序后的數組元素顯示為 birth name nation sex,當然,sort()函數是區分字母大小寫的(字母從大到小的順序是:A…Z…a…z)
Sort()函數還具有第二參數,用來說明升序的規則是用來比較數字還是字符串的。比如:
復制代碼 代碼如下:
<?php
echo "---按數字升序排序---<br />";
$num2=array('26','3',);
sort($num2,SORT_NUMERIC);
foreach ($num2 as $mychrs)
    echo $mychrs." ";
echo "<br />---按字符升序排序---<br />";
$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,9);
rsort($num1);

這里其實就相當于range(9,1)

3,php中關聯數組的排序
php除了支持數字索引數組以外,還支持相關數組。比如如下數組就是一個相關(關聯)數組:
復制代碼 代碼如下:
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');

使用sort($peoples)默認即是按照元素定義值的升序排序,在關聯數組中可使用asort()函數表示,關聯數組中最主要的則是可按照關鍵字(如xm、xb、mz等)的升序排序,該方法是用函數ksort()函數。
復制代碼 代碼如下:
<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
foreach ($peoples as $mychrs)
    echo $mychrs." ";
echo "<br />--按元素值升序排列--<br />";
asort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs." ";
echo "<br />--按關鍵字升序排列--<br />";
ksort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs." ";
?>

和常規數組擁有sort()升序函數的反向排序rsort()降序函數相對應的,關聯數組也有對應的降序函數:asort()函數和arsort()函數、ksort()函數和krsort()函數。
記憶:原型函數是sort(),其中a、k表示關聯數組相關必須前置,反向排序使用r修飾。

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 "<br />--按原順序反向--<br />";
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);

php技術解析PHP中數組元素升序、降序以及重新排序的函數,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女被免费视频网站九色 | 亚洲精品国产自在久久出水 | 亚洲国产成人久久 | 国产欧美激情一区二区三区-老狼 | 91插插插插插 | 国内精品视频成人一区二区 | 国产xx肥老妇视频奂费 | 91噜噜噜在线观看 | 91麻豆国产精品91久久久 | 国内精品91最新在线观看 | 国产成人精品第一区二区 | 国产女乱淫真高清免费视频 | 97国产大学生情侣11在线视频 | 亚洲美女色视频 | 久久伊人热 | 国产成+人+综合+亚洲不卡 | 国产第一页久久亚洲欧美国产 | 久久精品综合 | 色在线视频免费 | 91福利国产在线在线播放 | 国产精品人伦久久 | 成人精品一区二区激情 | 精品一区二区三区四区乱码 | 久久久精品一区 | 国产精品丝袜高跟鞋 | 韩国美女免费网站视频 | 涩涩涩综合在线亚洲第一 | 香蕉成人啪国产精品视频综合网 | 99爱视频99爱在线观看免费 | 深夜福利一区 | 欧美日韩亚洲国产无线码 | 最近手机中文字幕1页 | 伊人天伊人天天网综合视频 | 爱草草 | 一级做a爰性色毛片 | 国产永久在线视频 | 91久久精品国产91久久性色tv | 午夜伦伦| 黄视频在线 | 日本精品视频一区二区 | 国产成人亚洲综合91精品555 |