PHP数组创建和遍历(基础)
数组定义
PHP数组可以是混合数组 你的数组里面可以有数字也可以有字符串,二维数组不谈一个数组里还有数组跟C有差别定义方式例如 $dd=array(array(1,2,3),array(1,2,3,4),array(1,2,3,4,5))
$arr1=array(3,4,5)默认下标0 1 2 3
$arr2=arry("a"=>3,"b"=>22)关联数组下标为字符串
$arr3=arry("a"=>3,"b"=>22,5=>8,4)有指定下标也有 ,自动下标 此时 3的下标为aa 8的下标为5,4的下标为6(自动下标为最大数字下标加一)
$arr4[1]=3数组下标为1的值为3
数组取值
$v=$arr1[下标名字];
数组遍历
current($array)//获取数组的当前指针所在单元的值
key($array)//获取当前数组指针的下标
next($array)//移到数组的下一个节点获得其中的值
prev($array)//把数组指针移到最后一个单元然后取得该单元的值
end($array)//把数组下标直接移到最后一个
reset($array)//把数组下标直接移动到第一个
$count($array)//取得数组的长度
foreach ($数组名称 as $key=>$value)
{
echo " $key--$value"
}
如果下标都为整数0....100可以直接用for循环 ,如果有自定义下标用到next和for循环搭配
简单的for遍历
$ar=array(1,2,3,4,5,);
for ($i= 0;$i< count($ar); $i++)
{
$str= $ar[$i];
echo "$str";
}
next和for循环搭配
$ar=array(1,2,3,4,5,);
for ($i= 0;$i< count($ar); $i++)
{
$key=key($ar);
$val=current($ar);
echo "$val";
next($ar);
}
each()函数作用取得一个数组当前单元的下标和值放进一个数组,然后指针后移
list()用于一次性取得一个数组中从0开始的数组下标的多个单元的值 形式:list($变量1,$变量2,$变量3)
类似于
$变量1=$数组[0]
$变量2=$数组[1]
while() 和 list(),each()配合使用。
例如
$urls= array('aaa','bbb','ccc','ddd');
while(list($key,$val)= each($urls)) {
echo "This Site url is $val.<br />";
}
意思是用each取得数组第一个下标和值,用list存放其中的下标和值,其中list($key,$val)里面的变量只是为了起的名字容易理解跟key这个函数没关系
每次each调用之后指针自动向后移动-----因此组合可用-----平常也不用这个吧!