首頁  >  文章  >  後端開發  >  php數組函數詳解

php數組函數詳解

小云云
小云云原創
2018-03-30 11:24:421988瀏覽

本文主要和大家分享php陣列函數詳解,主要以程式碼和文字的形式和大家介紹,希望能幫助大家。

陣列

  • 陣列屬於複合型別資料

  • 陣列其實是一個有序的映射

分類

索引数组     数组的下标(key)是数字

关联数组     数组的下标(key)是字符串

不論是索引數組還是關聯數組,都是透過key找到value的。

建立

array( )形式

#建立索引陣列
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 
          )

[ ]形式 ( 5.4新增)

$arr = [value1,value2,value3...]

範例

// []创建数组
$arr = ['A','B',true,2];
print_r($arr);

输出结果:
    Array ( [0] => A [1] => B [2] => 1 [3] => 2 )

rang()

用於建立下標連續的索引陣列。

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('变量名')

用於建立關聯陣列。

先定義在外部變量,然後傳入變數即可產生數組。

注意,變數名稱需要用引號括起來。

範例

// compact()例子
$username = 'Tim';
$age = 23;
$email = 'xxx@xx.com';

// 注意,这里变量名需要用引号
$userInfo = compact('username','age','email');

输出结果:
    Array ( [username] => Tim [age] => 23 [email] => xxx@xx.com )

define()

define(key,value)

範例

define('TEST1',array('a','b','c'));
print_r(TEST1);

输出结果:
    Array ( [0] => a [1] => b [2] => c )

for迴圈

#for迴圈只能遍歷下標連續的索引數組

補充:

count() 得到陣列中的參數個數

如果是null,count()會回傳0。

範例

// 使用rang()快速创建数组
$arr = range('a','d');

for($i=0; $i<$len; $i++){
    echo $arr[$i],&#39;<br/>&#39;;
}

输出结果:
    a,b,c,d

for each 迴圈

只要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,&#39;<br/>&#39;;

    // 老版本会删除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數組函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn