首页  >  文章  >  后端开发  >  php数组函数详解

php数组函数详解

小云云
小云云原创
2018-03-30 11:24:421955浏览

本文主要和大家分享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