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));  //合并数组

四.预定义数组

原文地址:https://www.cnblogs.com/zhaohui123/p/6718963.html