读书篇:《细说PHP》四、数组
php是弱類型語(yǔ)言,但數(shù)組的功能比起其他強(qiáng)類型語(yǔ)言中的數(shù)組更加強(qiáng)大。
如c語(yǔ)言中的鏈表、堆、棧、隊(duì)列,java中的集合等,在PHP中都可以用數(shù)組來實(shí)現(xiàn)。
而數(shù)組作為PHP中重要的數(shù)據(jù)類型,在實(shí)際開發(fā)中使用廣泛。
在php中數(shù)組分為兩類:索引數(shù)組、關(guān)聯(lián)數(shù)組。
PHP中自定義數(shù)組有兩種方式:
直接賦值:`$array[0]='1';`array函數(shù)賦值:$array = array('0'=>'1');( array函數(shù)賦值一般用來定義多維數(shù)組使用 )
php使用foreach來遍歷數(shù)組,使用for語(yǔ)句便利多維數(shù)組具有局限性,所以很少使用。
php還支持內(nèi)部指針控制語(yǔ)句遍歷數(shù)組,由于使用較少這里不列舉了。
除了自定義數(shù)組之外,在實(shí)際開發(fā)中使用比較多的還是內(nèi)置數(shù)組函數(shù)。php提供了近百個(gè)操作數(shù)組的函數(shù)。
這里做一個(gè)常用數(shù)組函數(shù)的分類:
操作數(shù)組鍵/值的函數(shù):
array_values 返回?cái)?shù)組所有元素的值array_keys 返回?cái)?shù)組所有元素的鍵array_flip 交換數(shù)組鍵值array_reverse 反轉(zhuǎn)數(shù)組鍵值統(tǒng)計(jì)數(shù)組
count 統(tǒng)計(jì)數(shù)組元素數(shù)組排序
sort 正向排序rsort 逆向排序( 數(shù)組排序函數(shù)還有好多,這里有個(gè)小技巧:在排序函數(shù)前面加 a 代表保持索引關(guān)系,加 u 代表用戶自定義,加 k 按照鍵名排序,n 代表自然順序 )array_multisort 多維數(shù)組排序合并數(shù)組
array_merge 數(shù)組合并array_intersect 數(shù)組交集array_diff 數(shù)組差集實(shí)現(xiàn)堆棧以及隊(duì)列
array_push 在數(shù)組尾部添加元素array_pop 刪除數(shù)組最后一個(gè)元素array_shift 刪除數(shù)組中第一個(gè)元素函數(shù)回調(diào)
array_filter 過濾數(shù)組中元素
array_walk 處理每個(gè)元素的回調(diào)
數(shù)組檢索
in_array 檢索數(shù)組中是否存在值array_search 和in_array 相同只不過它返回的是鍵,in_array返回布爾值array_key_exists 檢索鍵是否存在其他
range 隨機(jī)返回一個(gè)指定范圍的數(shù)組array_rand 從數(shù)組中隨機(jī)一個(gè)或多個(gè)元素array_sum 返回?cái)?shù)組中值的和以上基本是實(shí)際開發(fā)中常用到的數(shù)組使用函數(shù),使用這些數(shù)組函數(shù)是要注意它的參數(shù)。
php提供了預(yù)定義數(shù)組,如$ _GET,$_POST等。
注意一下$_SERVER這個(gè)預(yù)定義數(shù)組,它會(huì)返回很多值,其中常常用到的:
server_name 服務(wù)器主機(jī)名server_port 服務(wù)器端口號(hào)server_addr 服務(wù)器IP地址remove_addr 客戶端IP地址還有很多信息顯示,具體看業(yè)務(wù)邏輯選擇使用。
總結(jié)
以上是生活随笔為你收集整理的读书篇:《细说PHP》四、数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iconfont 阿里巴巴矢量图标库 引
- 下一篇: php 小知识随手记 new self(