PHP数组介绍

一、数组的声明

1、PHP的数组并不要求每个变量的数据类型相同,可以是任意类型的变量的集合体。
2、数组中的每个实体都包括两项:键和值
3、使用array()来声明一个数组
   默认为索引数组,索引值从0开始
4、直接为数组元素赋值
    数组名[索引值] =元素值

	//数组的声明
	
	//相同类型元素
	$arr1 = array(1,3,5,6,7);
	
	//不相同类型元素
	$arr2 = array('a',1,true,null);


	//没有设置键,默认是索引数组
	print_r($arr2);
	//结果为 Array ( [0] => a [1] => 1 [2] => 1 [3] => )
	
	//键和值声明
	$arr3 = array('a'=>'苹果','b'=>'香蕉','c'=>'西瓜');
	print_r($arr3);
	//结果为 Array ( [a] => 苹果 [b] => 香蕉 [c] => 西瓜 )


	//数组元素赋值
	$arr3['a'] = '草莓';
	echo $arr3['a'];//结果为 草莓

二、数组的分类

1、索引数组(Indexed Array)
   是使用数字作为下标,默认索引值从数字0开始,不需要特别指定
2、关联数组(Associative Array)
   是使用字符串作为下标


三、数组的遍历

使用foreach循环遍历数组
1、is_array()
   判断是否为数组

//$key为数组的键,$value为数组的值
foreach ($arr3 as $key => $value) {
	echo $key.' => '.$value.'<br>';
}
/*结果为
	a => 草莓
	b => 香蕉
	c => 西瓜
*/
var_dump(is_array($arr3));//结果为bool(true)

使用list()、each()、while循环遍历数组
1、list()
   将数组的值分别赋值给list中的参数,list()函数可以将参数转换成在脚本中可以直接使用的变量
   该函数仅能用于数字索引的数组,且数字索引从0开始。

2、each()
   将数组当前一个元素的当做参数拆分成一个数组传递给each(),并向后移动数组指针到下一个元素的位置。

3、list()和each()配合遍历数组

	$arr4 = array('a','b','c','d');
	
	list($key,$value) = each($arr4);
	echo $key.' => '.$value.'<br>';
	//结果为 0 => a,指针下移
	
	list($key,$value) = each($arr4);
	echo $key.' => '.$value.'<br>';
	//结果为 0 => b

4、结合while循环,使用each()和list()联合遍历数组

	$arr5 = array('a','b','c','d','e');
	while(list($key,$value) = each($arr5)){
		echo $key.' => '.$value.'<br>';
	}
	/*结果为
		1 => b
		0 => a
		1 => b
		2 => c
		3 => d
		4 => e
	*/

使用for循环遍历数组
1、因为PHP数组中可以存在字符串下标,所以很少使用for循环来遍历数组。
2、count() 统计数组元素个数

	//使用for遍历数组
	$arr6 = array('a','b','c','d','e');
	for($i=0;$i<count($arr6);$i++){
		echo $arr6[$i].' ';
	}
	//结果为 a b c d e

我的小站

更多技术内容分享,更多有趣内容,那就请移步我的小站 [无痕小站]

猜你喜欢

转载自blog.csdn.net/kelinfeng16/article/details/82223807