数组
1、创建数组
PHP数组使用 array() 函数创建。
<?php
$arr1 = array(1,23,12,21,10);
$arr2 = array('cat','dog','pandar','mokey');
PHP数组有三种数组类型:
索引数组:数字索引的数组
关联数组:带有指定键的数组
多维数组:包含一个或多个数组
<?php
// 索引数组
$arr1 = array(1,45,23,4);
// 关联数组
$arr2 = array('name'=>'zhangsan','age'=>'18');
// 多维数组
$arr3 = array(
0=>array('name'=>'zhangsan','age'=>'18'),
1=>array('name'=>'wangwu','age'=>'17')
);
2、遍历数组
1.1、索引数组遍历
使用 for 循环遍历索引数组。
<?php
$arr = array('cat','pig','dog','fish');
$length = count($arr);
for($i=0;$i<$length;$i++){
echo $arr[$i];
echo '<br/>';
}
数组遍历后:
cat
pig
dog
fish
2.2、关联数组遍历
使用 foreach 循环遍历关联数组。
<?php
$arr = array(
'name' => '张三',
'sex' => '男',
'age' => 20
);
foreach($arr as $key=>$value){
echo 'key=' . $key .',value=' . $value;
echo '<br/>';
}
数组遍历后:
key=name,value=张三
key=sex,value=男
key=age,value=20
常用数组函数
1、count() 函数
返回数组中元素的个数。
1.1、语法
count(array,mode)
参数 | 描述 |
---|---|
array | 必需。规定数组 |
mode | 可选。0-默认,不对多维数组计数 ;1-递归地计数数组中元素的数目(计算多维数组中的所有元素) |
说明:返回数组元素的数目。
1.2、示例
<?php
$arr = array(1,2,4,5,32,12,56,678,54);
echo count($arr); // 9
$darr = array(
0 => array(3,21,45,5),
1 => array(23,6,2),
2 => array(234,56,21,60,98)
);
echo count($darr); // 3
echo count($darr,1); // 15
一般情况下,第二个参数都会是默认。
2、in_array() 函数
搜索数组中是否存在指定值。
2.1、语法
in_array(search,array)
参数 | 描述 |
---|---|
search | 必需,固定指定值 |
array | 必需,规定搜索的数组 |
说明:数组存在指定值返回 true,不存在返回 flase。
2.2、示例
<?php
$names = array('zhangsan','lisi','wangwu','zhaoliu');
if(in_array('zhangsan',$names)){
echo 'zhangsan 在数组中';
}
// zhangsan 在数组中
if(in_array('suwu',$names)){
echo 'suwu 在数组中';
} else {
echo 'sunwu 不在数组中';
}
// sunwu 不在数组中
3、array_combine() 函数
将两个数组合并成一个新数组,其中一个数组作为键名,另一个作为键值。
3.1、语法
array_combine(keys,values)
参数 | 描述 |
---|---|
keys | 必需,键名数组 |
values | 必需,键值数组 |
说明: 返回重新组合的新数组。
注释: 键名数组和键值数组的元素个数必须相同!
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
3.2、示例
<?php
$names = array('Tom','Jerry','Jhon');
$ages = array(10,11,20);
$newarr = array_combine($names,$ages);
print_r($newarr);
/*
Array
(
[Tom] => 10
[Jerry] => 11
[Jhon] => 20
)
*/
4、array_merge() 函数
把一个或多个数组合并为一个数组。
4.1、语法
array_merge(array1,array2,array3,…)
参数 | 描述 |
---|---|
array1 | 必需。规定数组 |
array2 | 可选。规定数组 |
说明:返回合并的新数组。
4.2、示例
<?php
$arr1 = array(12,3,42,56,43);
$arr2 = array('sd','swe','qwes','vfg','gbf','rtgk');
print_r(array_merge($arr1,$arr2));
/*
Array
(
[0] => 12
[1] => 3
[2] => 42
[3] => 56
[4] => 43
[5] => sd
[6] => swe
[7] => qwes
[8] => vfg
[9] => gbf
[10] => rtgk
)
*/
5、array_values() 函数
返回一个数组所有键值的数组。
5.1、语法
array_values(array)
参数 | 描述 |
---|---|
array | 必需。规定数组 |
5.2、示例
<?php
$arr = array('name'=>'zhaoliu','age'=>20,'city'=>'beijing');
print_r(array_values($arr));
/*
Array
(
[0] => zhaoliu
[1] => 20
[2] => beijing
)
*/
6、sort() 函数
把数组元素按升序排序。
6.1、语法
sort(array)
参数 | 描述 |
---|---|
array | 必需。规定数组 |
注释: 本函数为数组中的单元赋予新的键名。原有的键名将被删除。
成功返回 true,失败返回 false。
6.2、示例
<?php
$arr = array(21,3,45,12,9);
var_dump(sort($arr)); // bool(true)
print_r($arr);
/*
Array
(
[0] => 3
[1] => 9
[2] => 12
[3] => 21
[4] => 45
)
*/
更多PHP 数组函数请点击:php array 函数