本文主要和大家分享php陣列函數詳解,主要以程式碼和文字的形式和大家介紹,希望能幫助大家。
陣列
陣列屬於複合型別資料
陣列其實是一個有序的映射
分類
索引数组 数组的下标(key)是数字 关联数组 数组的下标(key)是字符串
不論是索引數組還是關聯數組,都是透過key找到value的。
建立
array(value1,value2,value3...)
範例一
// 通过array()创建下标连续的索引数组 $arr1 = array('A',2,false); 输出结果: Array ( [0] => A [1] => 2 [2] => ) false转换成空字符串
範例二
//创建手动指定下标的数组 $arr2 = array(2=>'a',3=>true); 输出结果: Array ( [2] => a [3] => 1 )
array(key1=>value1, key2=>value2, key3=>value3...)
範例
// 定义关联数组 $userInfo = array( 'username'=>'Tim', 'age'=>23, 'email'=>'404491216@qq.com' ); print_r($userInfo); 输出结果: Array ( [username] => Tim [age] => 23 [email] => 404491216@qq.com )
$arr = [value1,value2,value3...]
// []创建数组 $arr = ['A','B',true,2]; print_r($arr); 输出结果: Array ( [0] => A [1] => B [2] => 1 [3] => 2 )
用於建立下標連續的索引陣列。
range(min, max(, 步进制))
步進位:每個值相差多少,預設為1。
// range()例子 值为1-10 $arr = range(1,10,2); print_r($arr); 输出结果: Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
compact('变量名')
用於建立關聯陣列。
先定義在外部變量,然後傳入變數即可產生數組。
注意,變數名稱需要用引號
括起來。
// compact()例子 $username = 'Tim'; $age = 23; $email = 'xxx@xx.com'; // 注意,这里变量名需要用引号 $userInfo = compact('username','age','email'); 输出结果: Array ( [username] => Tim [age] => 23 [email] => xxx@xx.com )
define(key,value)
define('TEST1',array('a','b','c')); print_r(TEST1); 输出结果: Array ( [0] => a [1] => b [2] => c )
#for迴圈只能遍歷下標連續
的索引數組
補充:
count() 得到陣列中的參數個數
如果是null,count()會回傳0。
// 使用rang()快速创建数组 $arr = range('a','d'); for($i=0; $i<$len; $i++){ echo $arr[$i],'<br/>'; } 输出结果: a,b,c,d
只要value foreach (数组名称 as $value) key和value 都要 foreach (数组名称 as $key => $value)
注意:
遍歷空數組,不會執行迴圈體;
for each遍歷時,操作的是數組的副本 ( php7新特性)
透過引用遍歷,有更好的迭代特性,對陣列的修改會影響循環( php7 )
// php7新特性——foreach操作的是数组的副本 $arr = [0,1,2]; $ref =&$arr; foreach($arr as $v){ echo $v,'<br/>'; // 老版本会删除1,但php7操作的是副本,所以没影响 unset($arr[1]); } foreach输出结果: 0 1 2 // 都是0、2 因为1被删除了 var_dump($arr,$ref); var_dump输出结果: array (size=2) 0 => int 0 2 => int 2 )
相關推薦:
以上是php數組函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!