亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php數組定義與變量銷毀和一維數組排序

2024-09-04 11:45:53
字體:
來源:轉載
供稿:網友

本文章先是介紹關于php中的數組定義與數組的銷毀,之后再用一個實例來說明一維數據的排序方法。

PHP數組的定義,代碼如下:

  1. $array = array('one','two','three'); 
  2. var_dump($array); 

在本代碼片段的第一行,定義了一個一維數組$array,第二行的時候我們格式化輸出了這個數組,結果是這樣的:

  1. array(3) { 
  2. [0]=> 
  3. string(3) "one" 
  4. [1]=> 
  5. string(3) "two" 
  6. [2]=> 
  7. string(5) "three" 

現在兄弟解釋一下這個輸出結果,首先這個數組的輸出結果的第一行,array(3)告訴我們這是個有三個元素的數組,首先0號元素是一個長度為3的字符串(string(3))…篇幅關系剩下兩個就不說了吧,吼吼……,這說明什么呢?這說明在PHP中如果我們不為數組指定下標的話,那么他就自己自作主張的從零開始給我們弄一個下標出來——也就是PHP數組中的鍵名;再看看下邊的例子:

  1. $array = array('one',”hello”=>'two','three'); 
  2. var_dump($array); 

這一次我們定義數組的時候,為第二個元素指定了下標(從此以后,在本文中就叫做鍵名了,下標有點含糊不清!),第二個元素指定了鍵名(hello),咱們再看看輸出結果,代碼如下:

  1. array(3) { 
  2. [0]=> 
  3. string(3) "one" 
  4. ["hello"]=> 
  5. string(3) "two" 
  6. [1]=> 
  7. string(5) "three" 

我想你也像我一樣看到了一個很智能的現象,第一個元素的鍵名還是0——這個我們可以理解,因為我們沒有指定,而PHP數組必須要有一個鍵名,PHP就自作主張從零開始創立了一個鍵名;第二個元素的時候,我們指定了鍵名,PHP就尊重我們的意見用了這個鍵名;復雜的事情在第三個元素,第三個元素,看起來也很簡單,我們沒有指定鍵名,PHP自動的把最大整數鍵名加上1,作為了鍵名。但是大家想過沒有,如果我們把第一個元素的鍵名修改為“-5”,第二個元素鍵名不變,結果會是什么呢?我們拭目以待,代碼如下:

  1. $array = array(-5=>'one',"hello"=>'two','three'); 
  2. var_dump($array); 

如果你想當然的認為,第三個元素的鍵名應該是-4,那么我告訴你在PHP4.3.0之前這個想法是對的,但是之后就錯了,現在也就是PHP4.3.0之后的版本你將看到如下結果:

  1. array(3) { 
  2. [-5]=> 
  3. string(3) "one" 
  4. ["hello"]=> 
  5. string(3) "two" 
  6. [0]=> 
  7. string(5) "three" 

是的第三個元素是從0開始的,也就是不管你的負數有多小,下一個元素要是讓PHP來定義鍵名的話,那么他就是從0開始——記住這個地方說的是,在現有的鍵名中如果最大的依然是個負數,不管負數有多小,PHP也是從零開始下一個鍵名。

PHP數組的銷毀很簡單,像銷毀其他變量一樣。

銷毀整個數組:unset($array)

銷毀數組中的一個元素:unset($array[-5])

不管在現實生活中還是程序世界里,順序總是很重要——真不敢想象一個沒有順序的世界會什么樣子!PHP數組也不例外。PHP提供了四組針對PHP數組進行排序的函數,前三種都是針對一維數組的,我們先說這三種,第四種對多維數組的排序在下一篇文章中說,那個有點復雜。

第一組:sort 和 rsort,按照PHP數組鍵值的順序asc和逆序desc進行排序,同時破壞原來數組的索引關系——其實是刪除索引之后重新建立從0開始的數字索引,看一下例程,代碼如下:

  1. <?php 
  2. $a = array("a"=>1,2); 
  3. sort($a); 
  4. var_dump($a); 
  5. rsort($a); 
  6. var_dump($a); 
  7. ?> 

看一下第一個輸出結果,第一個輸出:

  1. array(2) { 
  2.   [0]=> 
  3.   int(1) 
  4.   [1]=> 
  5.   int(2) 

第二個輸出:

  1. array(2) { 
  2.   [0]=> 
  3.   int(5) 
  4.   [1]=> 
  5.   int(4) 

發現沒有我們原來定義的索引a哪里去了?哪里去了?可以肯定的說是被他們無情的刪除了,你要是對原來的索引關系并不在意的話,可以使用他們!

第二組函數:asort 和 arsort ,這兩個函數就比較厲害一點了,只要他們可以保留數組原有的索引關系,把上例的sort 和 rsort 分別用這兩個函數替換一下,看運行結果:

  1. array(2) { 
  2.   ["a"]=> 
  3.   int(1) 
  4.   [0]=> 
  5.   int(2) 
  6. array(2) { 
  7.   [0]=> 
  8.   int(2) 
  9.   ["a"]=> 
  10.   int(1) 

這個一看就明白的,不用說了吧!

第三組PHP數組排序函數:krsort 和 ksort 這兩個不同于以上兩組,這兩函數是對鍵名進行排序的,大家可以把上例的函數替換成這兩個,看看具體運行結果,這里也不說了,不然這個文章寫的就太長了,怕有些兄弟沒有耐心看到本文的重點,雖然重點就在下邊!

通過自定義函數對PHP數組進行排序,有三個函數分別是:

uasort 通過自定義函數對PHP數組的鍵值進行排序,并且保留原來的索引關系。

uksort 通過自定義函數對PHP數組的鍵名進行排序,并且保留原來的索引關系。

usort通過自定義函數對PHP數組的鍵值進行排序,并且刪除原來的索引關系,從零開始建立新的索引。

這個地方當然需要一個例子,首先頂一個函數,這個函數需要接受兩個參數,并且返回值是一定的,第一個參數等于第二個參數的時候返回0,小于的時候返回-1,大于返回1,代碼如下:

  1. function cmp($a,$b){ 
  2.  $a+=1; 
  3.  $b+=3;//改變這些值之后進行比較 
  4.  
  5.  if($a==$breturn 0; 
  6.  return ($a&lt;$b)?-1:1; 
  7.  
  8. $a =array(1,4,3,5); 
  9. uasort($a,'cmp'); 
  10. var_dump($a); 

輸出結果:

  1. array(4) { 
  2.   [0]=> 
  3.   int(1) 
  4.   [3]=> 
  5.   int(5) 
  6.   [1]=> 
  7.   int(4) 
  8.   [2]=> 
  9.   int(3) 

呵呵……是不是比不排序還亂呢?我們這里只是演示了使用的方法而已,具體你用到的時候自己搞吧!你要是不對這些數值進行操作之后再比較,例如我們這里:

$a+=1;$b+=3;//改變這些值之后進行比較

在PHP手冊中,一共定義了74個數組函數,涵蓋了PHP數組的定義,賦值,排序,數值操作,比較,以及對數組的鍵名,鍵值反轉……等等我們幾乎能夠想到的所有功能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性理论片在线观看片免费| 不卡中文字幕av| 亚洲一区二区三区在线免费观看| 亚洲精品美女在线| 日韩精品在线免费播放| 成人免费淫片视频软件| 在线视频一区二区| 欧美极品第一页| 日韩成人网免费视频| 欧美日韩亚洲系列| 欧美性猛交xxxxx免费看| 亚洲精品乱码久久久久久按摩观| 亚洲片av在线| 91精品国产91久久久久久| 深夜福利91大全| 久久福利网址导航| 亚洲视频在线观看| 成人精品福利视频| 久久久久久一区二区三区| 欧美在线不卡区| 国产精品美女网站| 国产女人精品视频| 亚洲天堂免费在线| 中文字幕精品久久| 在线视频一区二区| 欧美性猛交xxxx乱大交| 宅男66日本亚洲欧美视频| 国产精品电影一区| 亚洲 日韩 国产第一| 亚洲小视频在线观看| 91视频88av| 欧美日韩一区二区在线| 日日噜噜噜夜夜爽亚洲精品| 九九热99久久久国产盗摄| 在线成人一区二区| 亚洲在线第一页| 日韩精品免费在线视频观看| 欧美最近摘花xxxx摘花| 黑人巨大精品欧美一区二区| 久久久这里只有精品视频| 精品久久久香蕉免费精品视频| 韩国视频理论视频久久| 久久精品91久久久久久再现| 欧美黄色成人网| 国产欧美日韩专区发布| 欧美日韩精品在线观看| 日韩av网址在线观看| 欧洲美女免费图片一区| 亚洲2020天天堂在线观看| 78色国产精品| 久久影院免费观看| 亚洲天堂色网站| 久久久久99精品久久久久| 亚洲精品99久久久久| 91在线直播亚洲| 国产精品大片wwwwww| 日韩av在线免费| 国产精品2018| 亚洲一区999| 久久男人资源视频| 日韩欧美国产骚| 日本国产欧美一区二区三区| 上原亚衣av一区二区三区| 欧美精品video| 日韩美女中文字幕| 中文字幕日韩在线播放| 欧美大尺度激情区在线播放| 中文字幕日韩欧美| 一个人www欧美| 日本免费在线精品| 亚洲乱码国产乱码精品精| 91精品视频在线看| 国产一区二区久久精品| 欧美视频第一页| 韩国国内大量揄拍精品视频| 亚洲第一色在线| 高清欧美一区二区三区| 欧美wwwxxxx| 日韩中文字幕在线免费观看| 亚洲aⅴ日韩av电影在线观看| 亚洲国产91精品在线观看| 欧美激情中文字幕在线| 亚洲国产成人av在线| 国产精品美女av| 国产欧美日韩中文字幕在线| 色噜噜久久综合伊人一本| 国产午夜精品久久久| 色综合亚洲精品激情狠狠| 亚洲变态欧美另类捆绑| 欧美在线视频在线播放完整版免费观看| 免费av在线一区| 久久久成人av| 国产精品99久久久久久久久久久久| 最近2019中文字幕mv免费看| 美女福利精品视频| 97精品视频在线| 国产日韩欧美在线| 日韩中文字幕久久| 欧美一区亚洲一区| 欧美猛少妇色xxxxx| 国内揄拍国内精品少妇国语| 亚洲精品久久久久久久久久久久久| 国产精品99一区| 成人国内精品久久久久一区| 国产美女久久精品| 日韩中文字幕国产| 色综合久综合久久综合久鬼88| 欧美成人免费大片| 中文字幕亚洲情99在线| 91久久在线播放| 国产精品视频xxx| 欧美日韩在线观看视频| 热久久视久久精品18亚洲精品| 亚洲黄色av女优在线观看| 日韩欧美aaa| 米奇精品一区二区三区在线观看| 欧美多人爱爱视频网站| 日韩免费高清在线观看| 久久视频国产精品免费视频在线| 久久精品国产99国产精品澳门| 91色p视频在线| 久久久噜久噜久久综合| 热久久免费国产视频| 欧美成人精品三级在线观看| 久久久99久久精品女同性| 亚洲免费电影一区| 久久久中文字幕| 欧美精品性视频| 国产一级揄自揄精品视频| 欧美成人免费播放| 色婷婷av一区二区三区久久| 一本大道香蕉久在线播放29| 岛国视频午夜一区免费在线观看| 北条麻妃99精品青青久久| 亚洲美女性生活视频| 日本成人在线视频网址| 国产成+人+综合+亚洲欧洲| xvideos亚洲| 国产午夜精品视频免费不卡69堂| 欧美大胆a视频| 亚洲视频网站在线观看| 亚洲黄色av女优在线观看| 在线观看欧美成人| 国产成人欧美在线观看| 亚洲第一黄色网| 日韩有码在线观看| 亚洲精品视频免费| 亚洲国产一区自拍| 日韩电影中文字幕| 久久的精品视频| 成人黄色片在线| www.99久久热国产日韩欧美.com| 欧美性高跟鞋xxxxhd| 亚洲视频免费一区| 成人做爰www免费看视频网站| 欧美第一页在线| 日韩av不卡电影| 欧美日韩国产丝袜另类| 国产成人精品日本亚洲专区61| 2025国产精品视频| 日韩中文字幕视频| 久久亚洲精品网站| 国产成人精品免高潮费视频| 亚洲视频一区二区|