本文主要和大家分享php数组函数详解,主要以代码和文字的形式和大家介绍,希望能帮助到大家。
数组
数组属于复合类型数据
数组实际上是一个有序的映射
分类
索引数组 数组的下标(key)是数字 关联数组 数组的下标(key)是字符串
不论是索引数组还是关联数组,都是通过key找到value的。
创建
array( )形式
创建索引数组
array(value1,value2,value3...)
例子一
立即学习“PHP免费学习笔记(深入)”;
// 通过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],'
';
}
输出结果:
a,b,c,dfor 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,'
';
// 老版本会删除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
)相关推荐:











