PHP基础-数组与数据结构
强类型语言三个特点:1.数组里边只能存储相同数据类型的数据,2.数组的长度固定,3.在内存里边是连续的
一.数组定义及取值
$arr = array(1,2,3,4,5);
//echo $arr[0]; //索引数组
$arr1 = array("one"=>"111","two"=>"222");
//echo $arr1["one"]; //关联数组
二.遍历数组
1.for循环遍历,只能遍历索引数组
for($i=o;$i<count($arr);$i++)
{
echo $arr[$i]."<br>";
};
2.foreach循环遍历,可以遍历索引数组和关联数组(推荐使用)
foreach($arr1 as $k=>$v)
{
echo $k."---".$v."<br>";
}
foreach (int a in $arr){};
3.list()和each()结合遍历
(1) var_dump(each($arr));//取出当前指针指向的元素,返回新的数组(该数组包含key和value),将指针往后调一个
var_dump(each($arr));
var_dump(each($arr));
(2) list($a,$b,$c)=$arr;//将右侧数组的元素交给一组变量
echo $c;
list($k,$v)=each($arr);
while(list($k,$v)=each($arr))
{echo "{$k}-{$v}<br>";}
4.指针遍历
echo current($arr);//取当前指针指向元素的值
echo key($arr);//取当前指针指向元素的索引
next($arr);//将指针向下调一下
prev($arr);//将指针向上调一下
reset($arr);//将指针重置
end($arr);//将指针指向最后一个
while(list($k,$v)=each($arr))
{echo "{$k}-{$v}<br>";}
reset($arr);
while(list($k,$v)=each($arr))
{echo "{$k}-{$v}<br>";}
三.数组函数
$arr1 = array("one"=>"111","two"=>"222");
1.echo $arr1["one"]; //关联数组
2.unset($arr[2]); //删除数组元素
3.$arr[2]=10; //添加元素
4.$arr[]=10; //追加元素
5.arry_push($arr,12); //追加元素
var_dump($arr);
6.count($arr); //数组长度
7.var_dump(in_array(2,$arr)); //检查数组中是否存在某值
8.var_dump(array_reverse($arr)); //将数组中的元素顺序翻转,创建新的数组并返回
9.$arr=array_unique($arr); //删除数组中重复的值并返回新的数组
10.var_dump(array_values($arr)); //重新索引
11.var_dump(array_merge($arr,$arr1)); //合并数组
四.预定义数组