詳解PHP中數組函數的知識點
目錄
- 概念
- 數組定義語法
- 多維數組
- 1.二維數組
- 2.多維數組
- 3.異形數組
- 數組遍歷
- foreach遍歷語法
- for循環遍歷數組
- 數組的排序函數
概念
關鍵字:array,數據的組合(多個)存儲到一個指定的容器中,用變量指向該容器,然后可以通過變量一次性得到該容器中的所有數據.
數組定義語法
1.使用array關鍵字(最常用)
$變量=array(元素1,元素2,元素3);
2.可以使用中括號來包裹數據
$變量=[元素1,元素2...];
3.隱形定義數組:給變量增加一個中括號,系統自動變成數組
$變量[]=值1;
$變量[下標]=值//中括號里面的內容稱之為下標key,該下標可以是字母(單詞)或者數字,與變量命名的規則相似
如下:
1.
<?php$arr1=array("1",2,"hello");var_dump($arr1);?>
2.
<?php$arr1=["1",2,"hello"];var_dump($arr1);?>
3.
<?php$arr3[]=1;$arr3[10]=100;$arr3[]="1";$arr3["key"]="key";var_dump($arr3);?>
默認下標是從當前前面最大的開始(自動)
數組元素的順序以放入順序為準備,跟下標無關
多維數組
1.二維數組
數組中所有的元素都是一維數組
<?php$info=array( array("name"=>"jim","age"=>30), array("name"=>"tom","age"=>28), array("name"=>"lily","age"=>20));echo"<pre>";print_r($info);?>
2.多維數組
在第二維的數組元素中可以繼續是數組
3.異形數組
數組中元素不規則,又基本變量也有數組
數組遍歷
使數組中所有的數據依次輸出出來,使用一些簡化的規則來實現自動獲取下標以及輸出數組元素
<?php$arr=array(0=>array("name"=>"Tom"),1=>array("name"=>"jam"));//二維數組//訪問一維元素:$arr[一維下標]$arr[0];//訪問二位元素:$arr[一維下標][二維下標]$arr[1]["name"];?>
foreach遍歷語法
foreach($數組變量 as[$下標=>]$值){ //通過$下標訪問元素的下標,通過$值訪問元素的值}
通常:如果是關聯數組(字母下標),就需要下標,如果是數字下標就直接訪問值
<?php$arr=array(1,2,3,4,5,6,7,8,9);foreach($arr as $v){ //$v隨意命名 echo $v,"<br/>";}?>
如想獲取下標:
<?php$arr=array(1,2,3,4,5,6,7,8,9,10);foreach($arr as $k => $v){ //$v隨意命名 echo "key:",$k,"==value:",$v,"<br/>";}?>
foreach遍歷的原理:本質是數組的內部有一顆指針,默認指向數組元素的第一個元素,foreach就是利用指針去獲取數據,同時移動指針
步驟:
1.foreach會重置指針:讓指針指向第一個元素
2.進入foreach循環:通過指針取得當前第一個元素,然后將下標取出放到對應的下標遍歷k中,將值取出來放到對應的值變量 $v中,然后指針下移
3.進入循環內部(循環體),開始執行
4.重復2和3,直到在2的時候遇到執政娶不到內容(指針指向數組最后)
for循環遍歷數組
1.獲取數組長度:count(數組)得到數組的長度
2.要求數組元素的下標是規律的數字
<?php$arr=array(1,2,3,4,5,6,7,10);for($i=0;$i<count($arr);$i++)echo "key is:",$i,"and value is:",$arr[$i],"<br/>";?>
數組的排序函數
對數組元素進行排序,都是按照ASCLL碼進行比較,所以可進行英文比較(這里一組一個例子)
一:sort():順序排序(下標重排)
rsort():逆序排序
<?php$arr=array(3,1,5,2,0);echo "<pre>";sort($arr);//此后只需改變函數關鍵字即可進行各種排序print_r($arr);?>
二:asort():順序排序(下標保留)
arsort():逆序排序
三:ksort():順序排序:按照鍵名(下標)
krsort():逆序排序
四:shuffle():隨機打亂數組元素,數組下標重排
到此這篇關于詳解PHP中數組函數的知識點的文章就介紹到這了,更多相關PHP數組函數內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
相關文章: