小編今天給大家來總結php中數組操作的一些入門學習筆記了,包括了:數據創建,賦值,遍歷,查找,統計,多維數組等等在php中數組各種操作,有需要了解的朋友可參考.
什么是數組?
數組是一個數據的集合,相當于一個容器,可以將數據按一定的規則存到這個容器中.相當于旅館,旅館內有很多房間,而房間按照一定的規則編號.
數組的構成:基本結構形式如下:
$數組名 (鍵)= 值 數組名:是一個數組區別于另一個數組的方式,就像每個旅館都有一個名字.
鍵(key):也成為指針、索引或者標識符.鍵代表某值在數組中存放的位置,相當于旅館的門牌號,可以用不同方式命名.通過查詢鍵可以找到相應的值.
值(value):值相當于房間內存放的東西.
賦值創建數組
在php中,創建數組有變量賦值和調用函數兩種方法,這里先講前者.使用變量賦值方法很簡單,直接給一個數組變量賦值即可.
實例代碼如下:
三個賦值語句產生的數組內容:
0=>php
1=>html
2=>css
創建數組
除了上面介紹的賦值創建數組,還有調用函數的方法創建數組.php提供了array函數來穿件一個數組,基本結構形式如下:
array (item1,item2... ,itemn)
/* item表示數組中的元素值.array()函數創建數組時自動給元素值分配標識符,從0依次增加 */
實例代碼如下:
數組鍵名
1、鍵名分配
在用array()函數創建數組時,鍵名會自動分配到各個值.另外,我們也可以按自己的需要直接給元素分配鍵名.
基本結構形式:
array ( key => item )
實例代碼如下:
2、用字符串作鍵名
不但可以用整數作為鍵名,也可以使用字符串作為鍵名.使用字符串作為鍵名的數組成為字符串索引(string-indexed)數組.
實例代碼如下:
3、鍵名的修改
實例代碼如下:
創建多維數組
在php程序編寫時,一維數組有時不能滿足需求,這時就要用到多維數組.多維數組就是在一維數組的基礎上再增加一個或多個細下標,用法與一維數組大致相同,只是多維數據操作更為復雜,不過功能更強大.
以二維數組為例,就像大房子里面套有小房子,表示方法為$a[0][0].
實例代碼如下:
輸出數組
輸出數組是指將數組的的所有元素數據顯示在瀏覽器上,php怎么輸出數組?常用的php輸出數組函數有var_dump()和print_r()函數.
1、var_dump函數遞歸展開數組元素,顯示數組各元素的類型、鍵名和元素值.
實例代碼如下:
2、print_r函數值顯示數組元素的鍵名和元素值.
實例代碼如下:
測試數組
有時候我們不清楚某個變量是不是數組,可以用is_array()函數來測試判斷.
基本結構形式:
is_array ( 變 量 )
檢測變量是否數組,如果是則返回true,否則返回false.
實例代碼如下:
foreach遍歷數組
我們在運用數組時,常常要遍歷數組并獲得各個鍵或者元素值,php提供了一些專門遍歷數組的函數.這里先介紹foreach遍歷數組函數的用法.
結構形式實例代碼如下:
實例1:
通過foreach不僅可以獲得元素的值也可以獲得鍵名,結構形式:
foreach ( array_expression as $key => $value ) statement
將以上實例中第7行的代碼:
實例代碼如下:
查找數組元素值
php獲取數組鍵名可以用array_search()來實現,結構形式如下:
array_search( $needle,$haystack )
/* 參數$needle表示要查找的值 */
/* $haystack表示查找對象 */
array_search()函數返回的是鍵名,而不是布爾值,找不到時返回false.找到的元素如果正好是第一個元素,則返回0.而php會自動轉化成false,所以需要使用”===”判斷返回值.(“===”判斷是否全等,詳:php關系運算符)
實例代碼如下:
計算數組元素個數
數組也像變量一樣可以進行運算,例如需要php統計數組元素個數時,我們可以利用count()函數來計算數組中元素的個數.
結構形式實例代碼如下:
實例:
數組排序
php提供了一系列的數組排序函數,我們可以根據需要對數組進行排序.數組的排序主要有三種方式:
按鍵值排序
即按標識符ASCⅡ碼值的大小排列順序.
ksort(): 按照數組標識符順序排列
krsort(): 按照數組標識符逆序排
實例代碼如下:
按元素值排序
asort(): 按照由小到大的順序對數組排序;
rsort(): 按照由大到小的順序對數組逆序排序.
將實例1的8-11行代碼改為:
例代碼如下:
刪除原有鍵名排序
sort(): 按照由小到大的順序對數組排序;
rsort(): 按照由大到小的順序對數組逆序排序.
將實例2的8-11行代碼改為:
實例代碼如下:
數組運算符
合并數組計算實例代碼如下:
數組的比較實例,實例代碼如下:
數組運算符
例子 名稱 結果
$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.