当前位置:Gxlcms > PHP教程 > php数组函数详解

php数组函数详解

时间:2021-07-01 10:21:17 帮助过:16人阅读

本文主要和大家分享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],'<br/>';
}

输出结果: 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,'<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数组函数详解的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行