PHP数组

数组的本质是存储、管理和操作一组变量。在PHP中数组存储数据的容量还可以根据里面元素个数的增减自动调整。
  数组分类:
    1.索引数组:索引是整数,以0开始,依次递增。当通过位置来标识数组元素时,可以使用索引数组。
    2.关联数组:以字符串为索引值。当通过名称来识别数组元素时,可以使用关联数组。

数组的定义
   1.直接赋值
    $数组变量名[下标]=数组内容;
代码:

1 $arr[]=1;
2 $arr[]=2;
3 $arr[]=3;
4 $arr[]=4;
5 print_r($a);    //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

  2.array()语言结构
    $数组变量名=array(key1=>value1,key2=>value2,key3=>value3,key4=>value4);
代码:

1 $arr=array("a"=>"A","b"=>"B","c"=>"C","d"=>"D");
2 print_r($arr);    //Array ( [a] => A [b] => B [c] => C [d] => D )

  3.多维数组声明
    $数组变量名=array(
      array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
      array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
      array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
    );

数组遍历
  1.使用for循环遍历数组
    局限:要求数组下标必须是连续的数字索引
代码:

1 $arr=array(1,"a","b",4,"c");
2            for($i=0;$i<count($arr);$i++){
3            echo $arr[$i]."<br>";
4 }    

  2.使用foreach语句遍历数组
    PHP中foreach是专门为变量数组而设计,是一种变量数组的简便方法。
代码:

1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c");
2     foreach($arr as $k=>$v){
3     echo $k."=>".$v."<br>";
4 }

  3.联合使用list()、each()和while()循环遍历数组
    注意:list()语言结构仅能用于数字索引的数组并且假定数字索引从0开始。(可配合each()函数或者array_values()函数使用)。
代码:

1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c");    
2     while(list($k,$v)=each($arr)){
3     echo $k."=>".$v."<br>";
4 }

  4.使用函数内部指针遍历数组
    指针函数:current()、key()、next()、prev()、end()、reset()
代码:

1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c");
2 do{
3     echo key($arr)."=>".current($arr)."<br>";
4 }while(next($arr));

多维数组的遍历:
  二维数组为例:
代码:

 1 $arr=array(
 2 array("aa","AA"),
 3 array("bb","BB"),
 4 array("cc","CC"),
 5 array("dd","DD"),
 6 array("ee","EE"),
 7 );
 8 echo "<table border='1' align='center' width='400'>";
 9 echo "<caption><h2>大小写</h2></caption>";
10 echo "<tr><th>小写</th><th>大写</th></tr>";
11 foreach($arr as $v){
12     echo "<tr align='center'>";
13         foreach($v as $value){
14             echo "<td>{$value}</td>";
15         }
16     echo "</tr>";
17 }
18 echo "</table>";
19         

预定义全局数组
  $_SERVER、$_GET、$_POST、$_REQUEST、$_FILES、$_COOKIE、$_SESSION、$GLOBALS
数组函数(查手册)
常用数组函数
数组的键名和值:
array_values()
array_keys()
array_flip()
in_array()
array_search()
array_key_exists()
数组内部指针:
current()
next()
prev()
end()
reset()
key()
数组分段和填充:
array_slice()
array_splice()
array_pad()
数组栈和队列:
array_push()
array_pop()
array_shift()
array_unshift()
数组排序:
sort()
rsort()
asort()
arsort()
ksort()
krsort()
natsort()
natcasesort()
数组计算:
array_sum()
array_merge()
array_diff()
array_diff_assoc()
array_intersect()
array_intersect_assoc()
其他数组函数:
array_combine()
array_unique()
shuffle()
array_rand()
compact()
substr_count()

原文地址:https://www.cnblogs.com/yexiang520/p/5544499.html