多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php數組操作學習筆記

php數組操作學習筆記

來源:程序員人生   發布時間:2014-03-16 09:31:08 閱讀次數:3221次

小編今天給大家來總結php中數組操作的一些入門學習筆記了,包括了:數據創建,賦值,遍歷,查找,統計,多維數組等等在php中數組各種操作,有需要了解的朋友可參考.

什么是數組?

數組是一個數據的集合,相當于一個容器,可以將數據按一定的規則存到這個容器中.相當于旅館,旅館內有很多房間,而房間按照一定的規則編號.

數組的構成:基本結構形式如下:

$數組名 (鍵)= 值 數組名:是一個數組區別于另一個數組的方式,就像每個旅館都有一個名字.

鍵(key):也成為指針、索引或者標識符.鍵代表某值在數組中存放的位置,相當于旅館的門牌號,可以用不同方式命名.通過查詢鍵可以找到相應的值.

值(value):值相當于房間內存放的東西.

賦值創建數組

在php中,創建數組有變量賦值和調用函數兩種方法,這里先講前者.使用變量賦值方法很簡單,直接給一個數組變量賦值即可.

實例代碼如下:

  1.  $lang[]="php"
  2.  $lang[]="html"
  3.  $lang[]="css"
  4.  echo "$lang[0] 
    "
    ;  
  5.  echo "$lang[1] 
    "
    ;  
  6.  echo "$lang[2] 
    "
    ;  
  7. ?> 

三個賦值語句產生的數組內容:

0=>php

1=>html

2=>css

創建數組

除了上面介紹的賦值創建數組,還有調用函數的方法創建數組.php提供了array函數來穿件一個數組,基本結構形式如下:

array (item1,item2... ,itemn)

/* item表示數組中的元素值.array()函數創建數組時自動給元素值分配標識符,從0依次增加 */ 

實例代碼如下:

  1.  $student=array("Tom","Jacky","Rose"); 
  2.  echo $student[0] ."t"
  3.  echo $student[1] ."t"
  4.  echo $student[2]; 
  5. ?> 

數組鍵名

1、鍵名分配

在用array()函數創建數組時,鍵名會自動分配到各個值.另外,我們也可以按自己的需要直接給元素分配鍵名.

基本結構形式:

array ( key => item )

實例代碼如下:

  1.  $a=array(1 => "you",2 =>"are ", 5 =>"how "); 
  2.  echo $a[5]; 
  3.  echo $a[2]; 
  4.  echo $a[1]; 
  5. ?> 

2、用字符串作鍵名

不但可以用整數作為鍵名,也可以使用字符串作為鍵名.使用字符串作為鍵名的數組成為字符串索引(string-indexed)數組.

實例代碼如下:

  1.  $a=array("php"=>"動態網頁","html"=>"靜態網頁","css"=>"網頁排版"); 
  2.  echo $a["php"] ."
    "
  3.  echo $a["html"] ."
    "
  4.  echo $a["css"]; 
  5. ?>  

3、鍵名的修改

實例代碼如下:

  1.  $arr = array("a" => "新浪",    
  2.    "b"=>"網易",     
  3.    "c" => "騰訊""雅虎"   
  4.   ); 
  5.   $arr[a] = "PHP中文社區";   
  6.   $arr['e'] = "新浪";    
  7.   $arr[] = "百度";     
  8.  echo $arr['a'] ."
    "
    ;    
  9.  echo $arr['b'] ."
    "
    ;    
  10.  echo $arr['c'] ."
    "
    ;    
  11.  echo $arr['e'] ."
    "
    ;    
  12.  echo $arr[0] ."
    "
    ;     
  13.  echo $arr[1] ."
    "
    ;     
  14. ?> 

創建多維數組

在php程序編寫時,一維數組有時不能滿足需求,這時就要用到多維數組.多維數組就是在一維數組的基礎上再增加一個或多個細下標,用法與一維數組大致相同,只是多維數據操作更為復雜,不過功能更強大.

以二維數組為例,就像大房子里面套有小房子,表示方法為$a[0][0].

實例代碼如下:

  1.  $a[0][0]=1; 
  2.  $a[0][1]=2; 
  3.  $a[0][2]=3; 
  4.  $a[1][0]=4; 
  5.  $a[1][1]=5; 
  6.  $a[1][2]=6; 
  7.  for($i=0;$i<=1;$i++){ 
  8.   for($j=0;$j<=2;$j++){ 
  9.    echo "$a[$i][$j]=" .$a[$i][$j] ."
    "
    /* "$"表示輸出變量符號$ */ 
  10.   } 
  11.  } 
  12. ?> 

輸出數組

輸出數組是指將數組的的所有元素數據顯示在瀏覽器上,php怎么輸出數組?常用的php輸出數組函數有var_dump()和print_r()函數.

1、var_dump函數遞歸展開數組元素,顯示數組各元素的類型、鍵名和元素值.

實例代碼如下:

  1.  $a=array(0,5,array("php","html","css")); /* 創建一個嵌套的數組 */ 
  2.  var_dump($a); 
  3. ?>  

2、print_r函數值顯示數組元素的鍵名和元素值.

實例代碼如下:

  1.  $b=array(1,2,3); 
  2.  print_r($b); 
  3. ?> 

測試數組

有時候我們不清楚某個變量是不是數組,可以用is_array()函數來測試判斷.

基本結構形式:

is_array ( 變 量 )

檢測變量是否數組,如果是則返回true,否則返回false.

實例代碼如下:

  1.  $a="apple iphone"
  2.  if(is_array($a)){ 
  3.    var_dump($a); 
  4.   } 
  5.  else echo "不是數組"
  6. ?> 

foreach遍歷數組

我們在運用數組時,常常要遍歷數組并獲得各個鍵或者元素值,php提供了一些專門遍歷數組的函數.這里先介紹foreach遍歷數組函數的用法.

結構形式實例代碼如下:

  1. foreach ( array_expression as $value ) statement 
  2.  
  3. /* array_expression是要遍歷的數組 
  4.  as作用是將數組的值賦給$value 
  5. statement是后續語句 
  6.  */  

實例1:

  1. $color=array('white' => '白色' , 
  2.       'black' => '黑色' , 
  3.       'red' => '紅色' , 
  4.       'green' => '綠色'
  5.       'yellow' => '黃色'); 
  6. foreach$color as $cecho $c ."
    "
    ;     

通過foreach不僅可以獲得元素的值也可以獲得鍵名,結構形式:

foreach ( array_expression as $key => $value ) statement

將以上實例中第7行的代碼:

實例代碼如下:

  1. foreach$color as $cecho $c ."
    "
    ;  
  2. 改為: 
  3.  
  4.  foreach$color as $key => $cecho $key.$c ."
    "

查找數組元素值

php獲取數組鍵名可以用array_search()來實現,結構形式如下:

array_search( $needle,$haystack )

/* 參數$needle表示要查找的值 */

/* $haystack表示查找對象 */ 

array_search()函數返回的是鍵名,而不是布爾值,找不到時返回false.找到的元素如果正好是第一個元素,則返回0.而php會自動轉化成false,所以需要使用”===”判斷返回值.(“===”判斷是否全等,詳:php關系運算符)

實例代碼如下:

  1.  $s=array("a","b","c","d","e","f"); 
  2.  $i=array_search("a",$s); /* 查找數組是否有字符"a" */ 
  3.  if($i===false)  /* 判斷查找結果 */ 
  4.   echo "在數組s中找不到字符'a'"
  5.  else echo "輸出數組$s的鍵名:" .$i/* 輸出鍵名 */  
  6. ?> 

計算數組元素個數

數組也像變量一樣可以進行運算,例如需要php統計數組元素個數時,我們可以利用count()函數來計算數組中元素的個數.

結構形式實例代碼如下:

  1. count ( $var,$mode ) 
  2. /* $var參數$var通常是一個數組,函數返回var中的單元數目 */ 
  3. /* mode是可選參數 */  

實例:

  1.  $a=array("peple","man","women"); 
  2.  $b=count($a); /* 統計數組元素個數 */ 
  3.  echo $b
  4. ?> 

數組排序

php提供了一系列的數組排序函數,我們可以根據需要對數組進行排序.數組的排序主要有三種方式:

按鍵值排序

即按標識符ASCⅡ碼值的大小排列順序.

ksort(): 按照數組標識符順序排列

krsort(): 按照數組標識符逆序排 

實例代碼如下:

  1.  $languages=array
  2.   'c'=>'php'
  3.   'd'=>'asp'
  4.   'a'=>'jsp'
  5.   'b'=>'java' 
  6.  ); 
  7.  krsort($languages); 
  8.  foreach($languages as $key=>$val){ 
  9.   echo "$key = $val".'
    '
  10.  }; 
  11. ?>  

按元素值排序

asort(): 按照由小到大的順序對數組排序;

rsort(): 按照由大到小的順序對數組逆序排序. 

將實例1的8-11行代碼改為:

例代碼如下:

  1. asort($languages); 
  2.  print_r($languages); 
  3.  echo "
    "
  4.  rsort($languages); 
  5.  print_r($languages);  

刪除原有鍵名排序

sort(): 按照由小到大的順序對數組排序;

rsort(): 按照由大到小的順序對數組逆序排序. 

將實例2的8-11行代碼改為:

實例代碼如下:

  1. sort($languages); 
  2.  foreach($languages as $key=>$val){ 
  3.   echo "languages[$key] = $val".'
    '
  4.  }; 

數組運算符

合并數組計算實例代碼如下:

  1.  $a=array
  2.    'a'=>'php'
  3.    'b'=>'html'
  4.    'c'=>'css' 
  5.  ); 
  6.  $b=array
  7.    'a'=>'asp'
  8.    'b'=>'jsp' 
  9.  ); 
  10.  $c=$a+$b/* 合并數組 */ 
  11.  var_dump($c); 
  12.  echo "
    "
  13.  $c=$b+$a/* 調換順序合并數組 */ 
  14.  var_dump($c);  
  15. ?>  

數組的比較實例,實例代碼如下:

  1.  $a=array('php','asp'); 
  2.  $b=array(1=>'asp',0=>'php'); 
  3.  var_dump($a==$b); 
  4.  var_dump($a===$b); 
  5. ?>  

數組運算符

例子 名稱 結果

$a + $b 聯合 $a 和 $b 的聯合.

$a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對則為 TRUE.

$a === $b 全等 如果 $a 和 $b 具有相同的鍵/值對并且順序和類型都相同則為 TRUE.

$a != $b 不等 如果 $a 不等于 $b 則為 TRUE.

$a <> $b 不等 如果 $a 不等于 $b 則為 TRUE.

$a !== $b 不全等 如果 $a 不全等于 $b 則為 TRUE.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 小说区图片区亚洲 | 亚洲免费二区 | 日本成a人免费视频 | 欧美性猛交xxxx免费看手交 | 国产精品永久免费视频观看 | 午夜dj视频免费完整高清视频 | 看欧美的一级毛片 | 日韩欧美精品中文字幕 | 免费的禁片 | 亚洲欧美国产精品专区久久 | 免费羞羞视频 | 欧美日韩一级片在线观看 | 国产香蕉一区二区在线网站 | 美女福利视频国产免费观看 | 亚洲一区日本 | 亚洲精品99久久久久久 | 久久久久久久国产精品 | 亚洲视频在线不卡 | 就操网 | 一级做a爱片 | 欧美午夜在线观看理论片 | 国产高清国产精品国产k | 亚洲黄色在线观看 | a爱爱视频 | 欧美激情视频一区二区 | 国产亚洲精品午夜高清影院 | 日产免费线路一区二区三区 | 精品一二三区 | 欧美zzzz| 国产人人澡 | 日本天堂网址 | 欧美性猛交xxxx乱大交极品 | 亚洲蜜桃| 欧美一级做一级做片性十三 | 亚洲国产高清在线精品一区 | 亚洲日韩中文字幕天堂不卡 | 亚洲天堂日本 | 最近中文国语字幕在线播放视频 | 久久久影院亚洲精品 | free中国性xxxxhd| 亚洲跨种族黑人xxx 亚洲老女人 |