数组
数组
索引数组
$arr = array(1,2,3,4,5); echo $arr[0];
关联数组
$arr1 = array("code"=>"p001","name"=>"张三"); echo $arr["name"];
赋值定义
$arr[0] = "张三"; $arr[1] = "李四"; echo $arr[0];
预定义数组
global; //声明为全局变量 $GLOBALS; //引用全局作用域中可用的全局变量 $_SERVER; //服务器和执行环境信息 $_ENV; //环境变量 $_GET; //HTTP GET变量 $_POST; //HTTP POST变量 $_REQUEST; //HTTP request变量 $_FILES; //HTTP 文件上传变量 $_SESSION; //session 变量 $_COOKIE; //HTTP Cookies
遍历数组
$arr = array("p001","张三",1,"n001","1988-2-3");
for循环
for($i=0;$i<count($arr);$i++){ echo "{$arr[$i]}<br />"; }
foreach遍历
foreach($arr as $v){ //每一次循环都要把数组里面的一个元素交给变量v echo"{$v}<br />"; } foreach($arr as $k=>$v){ // k为索引 echo"{$k}-{$v}<br />"; }
list()和each()函数配合遍历数组
$a1 = each($arr);// 取出数组当前指针指向的元素的内容交给一个小数组 list($a,$b,$c) = $arr;//写在等号左边,将数组里面的元素赋值给一个变量 while(list($k,$v)=each($arr)){ echo"{$k}-{$v}<br />"; }
指针遍历
echo key($arr); //取当前指针指向元素的索引 echo current($arr); //取当前指针指向元素的值 next($arr); //将指针往下调一个 prev($arr); //将指针往上调一个 end($arr); //将指针指向最后一个元素 reset($arr); //将指针位置重置 do{ echo key($arr); echo current($arr); }while(next($arr))
二维数组
$arr = array( array(1,2,3), array(4,5,6), array(7,8,9) ) //echo $arr[1][1] foreach($arr as $v){ echo"{$v[0]}-{$v[1]}-{$v[2]}"; } foreach($arr as $v){ foreach($v as $v1){ echo"{$v1}<br />"; } }
例子
$arr =array( array("001","汉族"), array("002","回族"), array("003","满族"), array("004","维吾尔族"), ) echo"<select>"; foreach($arr as $v){ echo"<option value='{$v[0]}'>{$v[1]}</option>"; } echo "</select>";
其它常用函数
in_array(); //检查数组中是否存在某值 array_reverse(); //将数组中的元素顺序翻转,创建新的数组并返回 count(); //计算数组中的元素数目或对象中的属性个数 array_unique(); //删除数组中重复的值并返回新的数组 unset($arr[0]); //删除数组的某个值 array_values($arr); //重新索引 array_merge(); //合并数组 array_push(); //在数组尾添加元素