zoukankan      html  css  js  c++  java
  • php数组

     php中存在两种数组,一种为索引,一种为关联。

          定义一个数组:

                $arr = array();,这样为定义一个空数组,如果在()内写上内容则表示该数组定义了内容;

                echo $arr[0];:表示输出第一个数据;

          关联数组:

                $arr = array("code" = >"p001","name" = >"张三");

                echo $arr["name"];,即可输出张三;

          赋值定义:$arr[0] = "张三"; $arr[1] = "李四";,这样同样可以定义一个数组;

          遍历数组:

                首先先定义一个数组:

    $arr = array("p001","张三",1,"n001","1988-2-3");

                1.for循环:

    for($i=0;$i<count($arr);$i++){
        echo "{$arr[$i]}<br>";  //或写成echo $arr[$i]."<br>";
        }

                2.foreach遍历:

                      方法一:取值,每循环一次,将一个元素交给变量;

    foreach($arr as $v){
        echo "{$v}<br>";
        }

                       方法二:取索引,加值;

    foreach($arr as $v){
        echo"{$k}-{$v}<br>";
        }

                       区别:for循环只能遍历索引数组,如果是关联数组,需要使用foreach遍历;

                3.list()和each()函数配合遍历数组:

    复制代码
    复制代码
    $a1 = each($arr);  //执行1次去第一个,执行2次取第二个,直到没有元素为止,取出数组当前指针指向元素的内容,交给一个小数组
    list($a,$b)=$arr;  //将数组内的元素赋值给一组变量
    var_dump($a);
    while(list($k,$v)=each($arr)){
      echo"{$k}-{$v}<br>"
    }
    复制代码
    复制代码

                4.指针遍历

                      key($arr);:取当前指针指向元素的索引;

                      current($arr);:取当前指针指向元素的值;

                      next();:将指针往下调一个;

                      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]  //先从外层数组取值,再从里面一层数组取值。
    //输出5
    复制代码

                以上便是一个二维数组。

          遍历这个二维数组:

                方法一:

    foreach($arr as$v){
        echo"{$v[0]}-{$v[1]}-{$v[2]}<br>";
        }

                方法二:

    foreach($arr as$v){
        foreach($v as $v1){
            echo "{$v1}<br>";
            }
        }

          例1:制作民族下拉列表:

    复制代码
    $arr = array(
      array("n001","汉族"),
      array("n002","回族"),
      array("n003","满族"),
      array("n004","藏族"),
    );
    echo"<select>";
    foreach($arr as $v){
        echo"<option value='{$v[0]}'>{$v[1]}</option>";
        };
    echo"</select>"
    复制代码

          例2:制作一个info表的二维数组,用表格显示

    复制代码
    info = array(
      array("001","张三","1973-2-8"),
      array("002","李四","1982-10-29"),
      array("003","王五","1953-7-11"),
    );
    echo"<table>";
    foreach($info as $i){
        echo"
        <tr>
        <td>$i[0]</td>
        <td>$i[1]</td>
        <td>$i[2]</td>
        </tr>
        ";
        };
    echo"</table>";
    复制代码

          预定义数组:

                _GET:HTML中使用get方式传递的数据;

                _POST:HTML中使用post方式传递的数据;

                _REQUEST:以上两种方式的数据都可以获取;

                _FILES:获取上传文件的数据;

                _SESSION和_COOKIE:记录用户登录信息(状态保持作用);

          其他常用函数:

                in_array():检查数组中是否存在某值,存在返回true,不存在返回false;

                array_reverse():将数组中的元素顺序翻转,创建新的数组并返回;

                count():计算数组中的元素数目或对象中的属性个数;

                array_unique():删除数组中重复的值并返回新的数组;

                unset($arr[0]):删除数组的某个值;

                array_values($arr):重新索引;

                array_merge():合并数组;

                array_push():在数组尾添加元素。

  • 相关阅读:
    mysql 查询某年某月数据~(如果数据表用时间戳)
    mongo_4.25 find() hasNext() next()
    在YII框架中有2中方法创建对象:
    bootsrap[$data]
    date
    cookie
    JavaScript shell, 可以用到 JS 的特性, forEach
    在 Yii框架中使用session 的笔记:
    mysql查询今天、昨天、7天、近30天、本月、上一月 数据
    Python 自定义异常练习
  • 原文地址:https://www.cnblogs.com/palpitate/p/8245274.html
Copyright © 2011-2022 走看看