数组的英文是array,可以存入多个不同类型的数据,是一个复合数据类型。
eg:
$shu = array(1 , 1.5 , true ,'天王盖地虎,小鸡炖蘑菇');
echo '
';
var_dump($shu);
echo '
';?>
在上例中,我们发现我们存入了:
1.整型
2.浮点
3.布尔
4.字符串
注:上例中echo pre这个标签的主要目的是为原样输出,格式展示的更好看,更清晰。
我们用var_dump()打印出来显示看一下效果:
注:
索引数组的下标必须要从0开始吗?
答:这个问题其实不然,索引数组并不一定要从0开始。
那如何能够不从0开始呢?
答:需要用到大家在上面学的一小块知识哟。就是键值对应符。我们来动手写写。
$kele = array('只有不断努力才能博得未来',10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '苹果和梨子我都爱' , '橘子我最爱');
//打印显示$kele
echo '
';
var_dump($kele);
echo '
';?>
1.for循环遍历索引数组
//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);
//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo $num[0].'
';
echo $num[9].'
';
//我们可以得到数组中元素的总个数,为10
echo count($num);
//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0 ; $i < count($num) ; $i++){
echo $num[$i].'
';
}
?>
通过上面的例子,我们就把数组进行了循环。
因为下标是从0开始的,定义
i 加1 ,但是必须要小于10,因为数组下标的最大值为9。
2.常用操作数组函数
函数
功能
array_shift
弹出数组中的第一个元素
array_unshift
在数组的开始处压入元素
array_push
向数组的末尾处压入元素
array_pop
弹出数组末尾的最后一个元素
current
读出指针当前位置的值
key
读出指针当前位置的键
next
指针向下移
prev
向上移
reset
指针到开始处
end
指针到结束处
这些函数,也是面试中基础面试中最爱问到的问题。
函数名
功能
array_combine()
生成一个数组,用一个数组的值作为键名,另一个数组值作为值
range()
创建并返回一个包含指定范围的元素的数组。
compact()
创建一个由参数所带变量组成的数组
array_fill()
用给定的值生成数组
array_chunk()
把一个数组分割为新的数组块
array_merge()
把两个或多个数组合并为一个数组
array_slice()
在数组中根据条件取出一段值,并返回
array_diff()
返回两个数组的差集数组
array_search()
在数组中搜索给定的值,如果成功则返回相应的键名
array_splice()
把数组中的一部分去掉并用其它值取代
array_sum()
计算数组中所有值的和
in_array()
检查数组中是否存在某个值
array_key_exists()
检查给定的键名或索引是否存在于数组中
shuffle()
将数组打乱,保留键值
count()
计算数组中的单元数目或对象中的属性个数
array_flip()
返回一个键值反转后的数组
array_keys()
返回数组所有的键,组成一个数组
array_values()
返回数组中所有值,组成一个数组
array_reverse()
返回一个元素顺序相反的数组
array_count_values()
统计数组中所有的值出现的次数
array_rand()
从数组中随机抽取一个或多个元素,注意是键名
array_unique()
删除重复值,返回剩余数组
sort()
按升序对给定数组的值排序,不保留键名
rsort()
对数组逆向排序,不保留键名
asort()
对数组排序,保持索引关系
arsort()
对数组逆向排序,保持索引关系
ksort()
按键名对数组排序
krsort()
将数组按照键逆向排序
natsort()
用自然顺序算法对数组中的元素排序
natcasesort()
自然排序,不区分大小写
array_filter()
去掉数组中的空元素或者预定元素
extract
将键变为变量名,将值变为变量值
eg:弹出数组中的第一个元素
$mingren = array("邓超", "黄晓明", "宁泽涛", "钟汉良");
$dc = array_shift($mingren);
echo $dc .'
';
print_r($mingren);
?>