一.数组的分类与定义

分类:

1.索引数组  $array = array(1,2,3,4,5);

2.关联数组  $array=array(1=>"aa","bb"=>2);

定义:

1.直接为数组元素赋值即可声明数组

<?php
$countact1[0]=1;
$countact1[1]="高某";
$countact1[2]="A公司";
$countact1[3]="北京市";
$countact1[4]="(010)987654321";
$countact1[5]="gao@brophp.com";

  

2.使用array()函数声明数组

 

$contact = array(1,"高某","A公司","北京市","(010)9876554321","gao@brophp.com");

 

二.取值

1. 索引数组取值:

$array[0] ;    //用索引号来取值

2.关联数组取值:

$array["bb"];   //用key取值

 

三.遍历数组

1.for循环

//for循环遍历,针对于索引数组,不能遍历关联数组
    for($i=0;$i<count($attr);$i++)
    {
        echo $attr[$i]."<br>";
    }

 

2.foreach

foreach($array as $value)

foreach($array1 as $key => $value)

//foreach遍历,可以遍历索引数组和关联数组
    foreach($attr as $value)
    {
        echo $value."<br>";
    }
    
    foreach($attr as $key=>$value)
    {
        echo $key."=>".$value."<br>";
    }
    

 

3.each()函数

返回数组中当前的键/值对并将数组指针向前移动一步

reset()  将指针重置第一

//each()函数,取数组里面的某一个元素,依次向下取值,将该元素以数组的形式返回
    print_r(each($attr));
    echo "<br>";
    print_r(each($attr));
    echo "<br>";
    print_r(each($attr));
    echo "<br>--------------------------";
    //将指针复位,指向第一个元素
    reset($attr);
    print_r(each($attr));
    echo "<br>";
    print_r(each($attr));
    echo "<br>";
    print_r(each($attr));

 

4.list()函数

从数组中取值赋给一组变量

//list()函数
    list($a,$b,$c,$e,$f) = $attr;
    echo $a;
    echo $b;
    echo $c;
    echo $e;
    echo $f;

 

5.each()和list()结合

while(list($key,$value) = each($arr))

//用each()和list()函数遍历数组,索引数组和关联数组都可以
    list($key,$value) = each($attr);
    echo $key."=>".$value;
    list($key,$value) = each($attr);
    echo $key."=>".$value;
    
    while(list($key,$value) = each($attr))
    {
        echo $key."=>".$value."<br>";
    }

 

6.使用指针

取得目前指针位置的内容资料 current()

取得目前指针位置的索引值 key()

将数组的内部指针倒回一位 prev()

将数组的内部指针向前移动一位 next()

将数组的内部指针指向最后一个单元 end()

将数组的内部指针指向第一个单元 reset()

 

$attr = array("one"=>10,"2"=>"aa","three"=>20);

    echo current($attr); //取当前指针指向的内容value
    echo key($attr); //取当前指针指向的索引key
    echo "<br>";
    next($attr); //将指针向下移动
    echo current($attr); //取当前指针指向的内容value
    echo key($attr); //取当前指针指向的索引key
    echo "<br>";
    prev($attr); //将指针向上移动
    echo current($attr); //取当前指针指向的内容value
    echo key($attr); //取当前指针指向的索引key
    echo "<br>";
    end($attr); //将指针指向最后一个元素
    echo current($attr); //取当前指针指向的内容value
    echo key($attr); //取当前指针指向的索引key
    echo "<br>";
    reset($attr); //将指针复位
    echo current($attr); //取当前指针指向的内容value
    echo key($attr); //取当前指针指向的索引key
    echo "<br>";

 

7.预定义数组

声明为全局变量 global

引用全局作用域中可用的全局变量 $GLOBALS

服务器和执行环境信息 $_SERVER

环境变量 $_ENV

HTTP GET 变量 $_GET
HTTP POST 变量 $_POST

HTTP Request 变量 $_REQUEST

HTTP 文件上传变量 $_FILES

Session 变量 $_SESSION

HTTP Cookies $_COOKIE