7.数组

数组

1.什么是数组??

数组是一组数据

2. 概念

  • : 在数组中[]内用于区分不同值表示的就是键
  • : 在数组中键所对应的数据
  • 键值对: 键+值就是键值对(键=>值)
  • 下标:键就是下标
  • 元素:元素就是键值对
  • 索引数组:下标是数字
  • 关联数组:下标是字符串的
  • 混合数组:下标既有数字也有字符串
  • 一维数组:数组的所有元素是除了数组的其他类型
  • 二维数组:数组元素中有数组类型
  • 多维数组:二维数组以上都是多维数组

3. 数组的定义方式

  1. 使用语言结构来声明数组

    • 索引数组

      $arr = array(10, '你好', "好不好", true, 3.14);
      var_dump ($arr);
      

      结果:

      image-20220317215702813

    • 关联数组

      // key=>value
      $arr = array(
         'name' => "小哈哈",
          "sex" => "男",
          "age" => 18
      );
      var_dump ($arr);
      

      结果:

      image-20220317220047664

    • 混合数组

      $arr = array("id" =>1, 10, "name" =>"小明", 12, 3=>"你好");
      var_dump($arr);
      

      结果:

      image-20220317220448432

  2. 使用指定语法声明(常用)

    就是不用说是"array"了,并变成[]

    • 索引数组

      $arr = [10, '你好', "好不好", true, 3.14];
      var_dump ($arr);
      

      结果:

      image-20220317221214076

    • 关联数组

     // key=>value
     $arr = [
        'name' => "小哈哈",
         "sex" => "男",
         "age" => 18
     ];
     var_dump ($arr);
    

    结果:

    image-20220317221354735

    • 混合数组

      $arr = ["id" =>1, 10, "name" =>"小明", 12, 3=>"你好"];
      var_dump($arr);
      

      结果:

      image-20220317221537983

  3. 直接声明数组元素的方法声明

    • 索引数组

      $yyds[] = 12;
      $yyds[] = "haha";
      $yyds[] = 12.34;
      var_dump($yyds);
      

      结果:

      image-20220317222005102

      • 关联数组

        $yyds["age"] = 12;
        $yyds["name"] = "haha";
        $yyds["long"] = 12.34;
        var_dump($yyds);
        

        结果:

        image-20220317222111705

        • 混合数组

        • $yyds["age"] = 12;
          $yyds[1] = "haha";
          $yyds[] = 12.34;
          var_dump($yyds);
          

          结果:

          image-20220317222209312

3. 数组的相关操作

把数组的一个键值对看做一个标量就好

  1. 使用数组元素

    • echo只能输出标量,不能直接输出数组(但可以输出数组中的某个元素)
    • var_dump()查看数组
  2. 添加素组元素

    数组变量名[下标名] = value;
    
  3. 修改数组元素

    数组变量名[下标名] = NewValue;
    
  4. 删除数组元素

    把数组元素看做变量(标量)就行

    unset(数组变量[下标]);
    
  5. 清除数组

    把数组看做变量就OK

    unset($arr);
    
  6. 清空数组

    仅删除数组元素,不删除数组类型

    $arr=array();
    // 或者
    $arr=[];
    
  7. 数组长度

    count();
    
  8. 用系统函数实现数组的添加

    • array_unshift()

    • 作用:在原数组的开头插入一个或多个元素

    • 参数:

      • ​ @param1 要插入的数组变量(原数组)

      • ​ @param2 要插入的数组的元素(插入元素)

        ........

      • 返回值:插入后数组的新长度

      • 注意:该功能直接改变的是原有数组

      <?php
      $arr = array(3213, true, 'Hello World');
      var_dump(count($arr));  // 原数组长度
      var_dump($arr);  // 原数组
      $result = array_unshift($arr, '1231', 23213, "你好");
      var_dump($result);  // 返回值 新数组长度
      var_dump($arr);  // 新数组
      ?>
      

      image-20220413221645159

    • array_push()

    • 作用:在原数组的尾部插入一个或多个元素(入栈)

    • 参数:

      • @param1 要插入的数组变量(原数组)

      • @param2 要插入的数组元素(插入元素)

        ......

      • 返回值:插入后数组的新长度

      • 注意:该功能直接改变原数组

      <?php
      $arr = array(3213, true, 'Hello World');
      var_dump(count($arr));  // 原数组长度
      var_dump($arr);  // 原数组
      $result = array_push($arr, '1231', 23213, "你好");
      var_dump($result);  // 返回值 新数组长度
      var_dump($arr);  // 新数组
      ?>
      

      image-20220413221851962

4.数组的遍历

  1. for遍历

    count($arr); 可以统计数组长度(元数个数)

    $arr = [];
    $len = count($arr);  // 让统计数组长度()在循环外判断一次就行,这样可以提高效率
    for($i = 0; $i < $len; $i++) {
        // 输出值
        echo $arr[$i];
    }
    
  2. foreach循环

    数组专用遍历方法

    1. 键和值都需要

      foreach($arr as $key => $value) {
          // $key和$value都是自定义的变量名,目的就是为了接收数组的键和值,这里给个指针
          循环体
      };
      
    2. 只需要值

      foreach($arr as $value) {
          循环体
      };
      
    3. 只需要值

      =要$key => $value都写上=,只写一个它会认为你要的是值

      foreach($arr as $key => $value) {
          循环体
      };
      

5. 系统预定义变量

  • 系统预定义变量是系统提供的一些数据变量,这些数据变量都是数组类型

  • $_GET 接收页面以GET方式提交的数据(超链接,form表单)

    // 
    <a href="?"> </a>
    // href里面加个?以get方式提交的话就是在当前URL里再加点参数在网址后边加上参数
        
    //
    <form method="post" action="?">
        // action不写的话就是提交到当前页面,那及时以get方式提交的就是没有参数罢了
    </form>
    
  • $_POST 接收页面以POST方式提交的表单数据

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

  • $_COOKIE

  • $_SESSION

  • $GLOBALS

posted @   VarFa  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示