什麼是數組
2.數組一般分兩種
第一種是索引數組
用中括號的方式賦值
用=>分隔鍵和值
用英文的單引號或雙引號賦值
第二種是關聯數組
用=>賦值
多維數組的簡單介紹
3.數組的操作技巧
sort函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:sort — 對數組排序
使用方式:bool sort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )本函數對數組進行排序。當本函數結束時數組單元將被從最低到最高重新安排。
參數: array要排序的數組。sort_flags可選的第二個參數 sort_flags
可以用以下值改變排序的行爲:
排序類型標記:
SORT_REGULAR
- 正常比較單元(不改變類型)
SORT_NUMERIC
- 單元被作爲數字來比較
SORT_STRING
- 單元被作爲字符串來比較
SORT_LOCALE_STRING
- 根據當前的區域(locale)設置來把單元當作字符串比較,可以用 setlocale() 來改變。
SORT_NATURAL
- 和 natsort() 類似對每個單元以“自然的順序”對字符串進行排序。 PHP 5.4.0 中新增的。
SORT_FLAG_CASE
- 能夠與 SORT_STRING
或 SORT_NATURAL
合併(OR 位運算),不區分大小寫排序字符串。
返回值:成功時返回 TRUE
, 或者在失敗時返回 FALSE
。
例子:
rsort函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:rsort — 對數組逆向排序
使用方式:bool rsort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )本函數對數組進行逆向排序(最高到最低)。
參數: array輸入的數組。sort_flags可以用可選參數 sort_flags
改變排序的行爲,詳情見 sort()。
返回值:成功時返回 TRUE
, 或者在失敗時返回 FALSE
。
例子:
arsort函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:arsort — 對數組進行逆向排序並保持索引關係
使用方式:bool arsort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )本函數對數組進行排序,數組的索引保持和單元的關聯。主要用於對那些單元順序很重要的結合數組進行排序。
參數: array輸入的數組。sort_flags可以用可選參數 sort_flags
改變排序的行爲,詳情見 sort()。
返回值:成功時返回 TRUE
, 或者在失敗時返回 FALSE
。
例子:
ksort函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:ksort — 對數組按照鍵名排序
使用方式:bool ksort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )對數組按照鍵名排序,保留鍵名到數據的關聯。本函數主要用於關聯數組。
參數: array輸入的數組。sort_flags可以用可選參數 sort_flags
改變排序的行爲,詳情見 sort()。
返回值:成功時返回 TRUE
, 或者在失敗時返回 FALSE
。
例子:
array_count_values函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:array_count_values — 統計數組中所有的值
使用方式:array array_count_values ( array $array
)array_count_values() 返回一個數組: 數組的鍵是 array
裏單元的值; 數組的值是 array
單元的值出現的次數。
參數:input統計這個數組的值
返回值:返回一個關聯數組,用 array
數組中的值作爲鍵名,該值在數組中出現的次數作爲值。
例子:
current,next,prev,end函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:current — 返回數組中的當前單元;
next — 將數組中的內部指針向前移動一位
prev — 將數組的內部指針倒回一位
end — 將數組的內部指針指向最後一個單元
使用方式:mixed current ( array &$array
)每個數組中都有一個內部的指針指向它“當前的”單元,初始指向插入到數組中的第一個單元。
mixed next ( array &$array
)next() 和 current() 的行爲類似,只有一點區別,在返回值之前將內部指針向前移動一位。這意味着它返回的是下一個數組單元的值並將數組指針向前移動了一位。
mixed prev ( array &$array
)將數組的內部指針倒回一位。
mixed end ( array &$array
)end() 將 array
的內部指針移動到最後一個單元並返回其值。
參數:array這個數組。
返回值:current() 函數返回當前被內部指針指向的數組單元的值,並不移動指針。如果內部指針指向超出了單元列表的末端,current() 返回 FALSE
。
next()函數返回數組內部指針指向的下一個單元的值,或當沒有更多單元時返回 FALSE
。
返回數組內部指針指向的前一個單元的值,或當沒有更多單元時返回 FALSE
。
返回最後一個元素的值,或者如果是空數組則返回 FALSE
。
例子:
array_pad函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:array_pad — 以指定長度將一個值填充進數組
使用方式:array array_pad ( array $array
, int $size
, mixed $value
)array_pad() 返回 array
的一個拷貝,並用 value
將其填補到 size
指定的長度。如果 size
爲正,則填補到數組的右側,如果爲負則從左側開始填補。如果 size
的絕對值小於或等於 array
數組的長度則沒有任何填補。有可能一次最多填補 1048576 個單元。
參數:array需要被填充的原始數組。size新數組的長度。value將被填充的值,只有在 array
的現有長度小於 size
的長度時纔有效。
返回值:返回 array
用 value
填充到 size
指定的長度之後的一個副本。 如果 size
爲正,則填補到數組的右側,如果爲負則從左側開始填補。 如果 size
的絕對值小於或等於 array
數組的長度則沒有任何填補。
例子:
array_file函數
版本:(PHP 4 >= 4.2.0, PHP 5, PHP 7)
解釋:array_fill — 用給定的值填充數組
使用方式:array array_fill ( int $start_index
, int $num
, mixed $value
)array_fill() 用 value
參數的值將一個數組填充 num
個條目,鍵名由 start_index
參數指定的開始
參數:start_index返回的數組的第一個索引值。如果 start_index
是負數, 那麼返回的數組的第一個索引將會是 start_index
,而後面索引則從0開始。 (參見 例子)。num插入元素的數量。 必須大於或等於 0。value用來填充的值。
返回值:返回填充後的數組。
例子:
array_combine函數
版本:(PHP 5, PHP 7)
解釋:array_combine — 創建一個數組,用一個數組的值作爲其鍵名,另一個數組的值作爲其值
使用方式:array array_combine ( array $keys
, array $values
)返回一個 array,用來自 keys
數組的值作爲鍵名,來自 values
數組的值作爲相應的值。
參數:keys將被作爲新數組的鍵。非法的值將會被轉換爲字符串類型(string)。values將被作爲 Array 的值。
返回值:返回合併的 array,如果兩個數組的單元數不同則返回 FALSE
。
例子:
array_splic函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:array_splice — 去掉數組中的某一部分並用其它值取代
使用方式:array array_splice ( array &$input
, int $offset
[, int $length
= count($input) [, mixed $replacement
= array() ]] )把 input
數組中由 offset
和 length
指定的單元去掉,如果提供了 replacement
參數,則用其中的單元取代。
參數:input輸入的數組。offset如果 offset
爲正,則從 input
數組中該值指定的偏移量開始移除。如果 offset
爲負,則從 input
末尾倒數該值指定的偏移量開始移除。length如果省略 length
,則移除數組中從 offset
到結尾的所有部分。如果指定了 length
並且爲正值,則移除這麼多單元。如果指定了 length
並且爲負值,則移除從 offset
到數組末尾倒數 length
爲止中間所有的單元。 如果設置了 length
爲零,不會移除單元。 小竅門:當給出了 replacement
時要移除從 offset
到數組末尾所有單元時,用 count($input) 作爲 length
。 replacement
如果給出了 replacement
數組,則被移除的單元被此數組中的單元替代
如果 offset
和 length
的組合結果是不會移除任何值,則 replacement
數組中的單元將被插入到 offset
指定的位置。 注意替換數組中的鍵名不保留。
如果用來替換 replacement
只有一個單元,那麼不需要給它加上 array(),除非該單元本身就是一個數組、一個對象或者 NULL
。
返回值:返回一個包含有被移除單元的數組。
例子:
array_unique函數
版本:(PHP 4 >= 4.0.1, PHP 5, PHP 7)
解釋:array_unique — 移除數組中重複的值
使用方式:array array_unique ( array $array
[, int $sort_flags
= SORT_STRING ] )array_unique() 接受 array
作爲輸入並返回沒有重複值的新數組
參數:array輸入的數組。sort_flags第二個可選參數sort_flags
可用於修改排序行爲:
排序類型標記:
SORT_REGULAR
- 按照通常方法比較(不修改類型)
SORT_NUMERIC
- 按照數字形式比較
SORT_STRING
- 按照字符串形式比較
SORT_LOCALE_STRING
- 根據當前的本地化設置,按照字符串比較。
返回值:返回過濾後的數組。
例子:
array_flip函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:array_flip — 交換數組中的鍵和值
使用方式:array array_flip ( array $array
)array_flip() 返回一個反轉後的 array,例如 array
中的鍵名變成了值,而 array
中的值成了鍵名。
參數:array要交換鍵/值對的數組。
返回值:成功時返回交換後的數組,如果失敗返回 NULL
。
例子:
array_search函數
版本:(PHP 4 >= 4.0.5, PHP 5, PHP 7)
解釋:array_search — 在數組中搜索給定的值,如果成功則返回首個相應的鍵名
使用方式:mixed array_search ( mixed $needle
, array $haystack
[, bool $strict
= false ] )
參數:needle搜索的值。haystack這個數組。strict如果可選的第三個參數 strict
爲 TRUE
,則 array_search() 將在 haystack
中檢查完全相同的元素。 這意味着同樣嚴格比較 haystack
裏 needle
的 類型,並且對象需是同一個實例。
返回值:如果找到了 needle
則返回它的鍵,否則返回 FALSE
。
例子:
unset函數
版本:(PHP 4, PHP 5, PHP 7)
解釋:unset — 釋放給定的變量
使用方式:void unset ( mixed $var
[, mixed $...
] )unset() 銷燬指定的變量。unset() 在函數中的行爲會依賴於想要銷燬的變量的類型而有所不同。如果在函數中 unset() 一個全局變量,則只是局部變量被銷燬,而在調用環境中的變量將保持調用 unset() 之前一樣的值
參數:var要銷燬的變量。
返回值:沒有返回值。
例子: