数组

数组

索引数组

$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(); //在数组尾添加元素
原文地址:https://www.cnblogs.com/Whitehat/p/8324785.html