PHP基础(下)

server/2025/1/23 2:58:13/

一.数组

1.数组的基本概念

  • 介绍:在 PHP 中,数组是一种非常重要的数据结构,它可以存储多个值。这些值可以是不同的数据类型,包括整数、浮点数、字符串、对象,甚至是其他数组。

2.数组类型

A.索引数组
  • 介绍:索引数组使用数字作为索引,从 0 开始。

  • 创建数组:

    1. 直接使用 array()​ 函数:

      $arr = array(1, 2, 3, 4, 5);
      
    2. 使用方括号 []​ 快捷方式(PHP 5.4 及以上):

      $arr = [1, 2, 3, 4, 5];
      
  • 数组操作

    1. 访问元素:

      echo $arr[0]; // 输出 1
      
    2. 添加元素:

      $arr[] = 6; // 在末尾添加元素
      
    3. 修改元素:

      $arr[0] = 10; // 将第一个元素修改为 10
      
    4. 删除元素:

      • 使用 unset()​ 函数:

        unset($arr[0]); // 删除索引为 0 的元素
        
    5. 遍历数组:

      • 使用 for​ 循环遍历索引数组(适用于连续的索引):

        <?php$arr = [1,2,3,4,5];for ($i = 0; $i < count($arr); $i++) {echo $arr[$i]. "\n";}
        ?>
        
      • 使用 foreach​ 循环遍历索引数组或关联数组:

        <?php// @:不显示报错信息@$arr = [1,2,3,4,5];foreach ($arr as $value) {echo $value. "\n";}
        ?>
        
B.关联数组
  • 介绍:关联数组使用字符串作为索引(键),每个元素都由键和值组成。

  • 创建数组:

    1. 使用 array()​ 函数:

      $arr = array("name" => "qyiao", "age" => 18, "city" => "jiangsu");
      
    2. 使用方括号 []​ 快捷方式:

      $assocArray = ["name" => "qyiao", "age" => 18, "city" => "jiangsu"];
      
  • 数组操作:

    1. 访问元素:

      echo $arr["name"]; // 输出 qyiao
      
    2. 添加元素:

      $arr["email"] = "qyiao@example.com"; // 添加新的键值对
      
    3. 修改元素:

      $arr["age"] = 20; // 将 age 的值修改为 20
      
    4. 删除元素:

      • 使用 unset()​ 函数:

        unset($arr["city"]); // 删除键为 city 的元素
        
    5. 遍历数组:

      • 使用 foreach​ 循环遍历索引数组或关联数组:

        <?php// @:不显示报错信息@$arr = ["张三" => 18,"李四" => 17,"王五" => 19];foreach ($arr as $key => $value) {echo "name: ". $key. ", age: ". $value. "<br>";}
        ?>
        

3.数组的内置函数

  1. ​count()​ 函数

    • 介绍:用于计算数组中元素的数量。

    • 示例:

      $count = count($arr);
      
  2. ​array_push()​ 和 array_pop()​ 函数

    • 介绍:用于在数组末尾添加和删除元素。

    • 示例:

      array_push($arr, 7); // 在末尾添加元素
      $arr_last = array_pop($arr); // 删除并返回最后一个元素
      
  3. ​array_keys()​ 和 array_values()​ 函数

    • 介绍:分别返回数组的键和值的数组。

    • 示例:

      $keys = array_keys($arr);
      $values = array_values($arr);
      
  4. ​sort()​ 和 rsort()​ 函数

    • 介绍:分别对数组元素进行升序和降序排序(适用于索引数组)。

    • 示例:

      sort($indexArray); // 升序排序
      rsort($indexArray); // 降序排序
      

4.使用数组接收数据

1.索引数组
  • <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>Title</title>
    </head>
    <body>
    <form action="" method="get"><select name="fruits"><option value="">选择一种水果</option><option value="苹果">苹果</option><option value="橘子">橘子</option><option value="香蕉">香蕉</option></select> <input type="submit" name="submit" value="提交">
    </form>
    </body>
    </html>
    <?php$fruits=@$_GET['fruits']; // @:不显示报错信息echo "你选择的是$fruits";
    ?>
    
2.关联数组
  • <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>查询学生成绩</title>
    </head>
    <body>
    <form action="" method="get">请输入学生姓名:<input type="text" name="student"><br><input type="submit" name="submit">
    </form></body>
    </html>
    <?php$grades=array("张三"=>90,"李四"=>85,"小明"=>50);$student=@$_GET['student']; // @:不显示报错信息$num=@$grades[$student]; // @:不显示报错信息echo("$student 的成绩为:$num");
    ?>
    

二.函数

1.函数的基本概念

  • 介绍:在 PHP 中,函数是一段可重复使用的代码块,用于执行特定的任务。函数可以接收参数,并且可以返回一个值。使用函数可以提高代码的可维护性和复用性,避免代码的重复编写。

2.函数的定义

  • 基本结构:

    function functionName($parameter1, $parameter2,...) {// 函数体// 可以包含各种语句和操作return $result; // 可以返回一个结果(可选)
    }
    
  • 简单示例:

    function add($a, $b) {$sum = $a + $b; // 计算两个数之和return $sum;
    }
    

3.函数的调用

  • 介绍:要调用一个函数,只需使用函数名并传递所需的参数(如果有的话)。

  • 示例:

    $result = add(3, 5);
    echo $result; // 输出 8
    

4.函数的参数

  1. 必需参数

    • 介绍:函数可以有一个或多个必需参数,这些参数在调用函数时必须提供。
    • 示例:

      function greet($name) {echo "Hello, ". $name. "!";
      }
      greet("qyiao"); // 输出 Hello, qyiao!
      
  2. 默认参数

    • 介绍:可以为参数设置默认值,这样在调用函数时,如果没有提供该参数,将使用默认值。
    • 示例:

      function greet($name = "World") {echo "Hello, ". $name. "!";
      }
      greet(); // 输出 Hello, World!
      greet("qyiao"); // 输出 Hello, qyiao!
      
  3. 可变参数:

    • 介绍:使用 ...​ 语法可以接收可变数量的参数。
    • 示例:

      function sum(...$numbers) {$total = 0;foreach ($numbers as $number) {$total += $number;}return $total;
      }
      echo sum(1, 2, 3, 4); // 输出 10
      

5.函数的返回值

  • 介绍:函数可以使用 return​ 语句返回一个值。一旦执行 return​ 语句,函数将立即结束并返回指定的值。

  • 有返回值

    function add($a, $b) {return $a + $b;
    }
    $result = add(4, 5);
    echo $result; // 输出 9
    
  • 无返回值

    function printMessage($message) {echo $message;
    }
    $result = printMessage("This is a message.");
    echo $result; // 输出 This is a message. 然后输出 NULL
    

6.匿名函数(闭包)

  • 介绍:匿名函数是一种没有名称的函数,通常用于作为其他函数的参数或存储在变量中。

    $greet = function($name) {echo "Hello, ". $name. "!";
    };
    $greet("Alice"); // 输出 Hello, Alice!
    
  • 使用 use​ 关键字访问外部变量:

    $greeting = "Hello";
    $greet = function($name) use ($greeting) {echo $greeting. ", ". $name. "!";
    };
    $greet("qyiao"); // 输出 Hello, qyiao!
    

三.类和对象

1.类和对象的基本概念

  • 介绍:在 PHP 中,类是一种用户自定义的数据类型,它是对象的蓝图或模板,而对象是类的实例。类可以包含属性(变量)和方法(函数),通过类可以将相关的数据和操作封装在一起,提高代码的可维护性和复用性。

2.类的定义

  • 基本结构:

    class ClassName {// 声明属性var $var1var $var2// 声明方法function myfunc1($arg1,$arg2){//方法体}
    }
    
  • 简单示例:

    class Person{// 声明属性 var $name;var $age;// 声明方法 function hello(){echo "My name is $this->name, my age is $this->age";}
    }
    ?>
    

3.对象的创建和使用

  • 创建对象

    • 介绍:可以使用 new​ 关键字来实例化该类的对象。

      $person = new Person();
      
  • 使用对象

    • 介绍:可以通过对象访问类的属性和方法。

      $person->name = "qyiao";
      $person->age = 18;
      $person->hello(); // 输出:My name is qyiao, my age is 18
      

http://www.ppmy.cn/server/160631.html

相关文章

校园水电费管理小程序的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

在 Ubuntu 22.04 上安装 Kubernetes(Kubeadm 安装方式)

使用 Kubeadm、Containerd 和 Calico 网络插件搭建 Kubernetes 集群教程 1.安装前准备&#xff08;所有节点执行&#xff09; 关闭防火墙 sudo systemctl disable --now ufw设置服务时区 # 设置为亚洲的上海时区 sudo timedatectl set-timezone Asia/Shanghai # 重启时间同…

Uniapp判断设备是安卓还是 iOS,并调用不同的方法

在 UniApp 中&#xff0c;可以通过 uni.getSystemInfoSync() 方法来获取设备信息&#xff0c;然后根据系统类型判断当前设备是安卓还是 iOS&#xff0c;并调用不同的方法。 示例代码 export default {onLoad() {this.checkPlatform();},methods: {checkPlatform() {// 获取系…

52.this.DataContext = new UserViewModel(); C#例子 WPF例子

“对于这个(this)窗口(View)&#xff0c;请使用这个实例(UserViewModel)作为其数据源(DataContent)。” 下面是对this.DataContext new UserViewModel();这行代码的详细解释&#xff1a; this关键字&#xff1a; 在这个上下文中&#xff0c;this指的是当前的View对象&#xf…

25/1/15 嵌入式笔记 初学STM32F108

GPIO初始化函数 GPIO_Ini&#xff1a;初始化GPIO引脚的模式&#xff0c;速度和引脚号 GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA的引脚0 GPIO输出控制函数 GPIO_SetBits&#xff1a;将指定的GPIO引脚设置为高电平 GPIO_SetBits(GPIOA, GPIO_Pin_0); // 将GPIO…

Vue3轮播图左右联动

1、轮播图部分&#xff0c;右边鼠标移入&#xff0c;左边对应展示轮播图 可以在swiper 官网 Swiper中文网-轮播图幻灯片js插件,H5页面前端开发 选择vue中使用swiper npm i swiper 左右两边的联动&#xff1a;左边的轮播图和右边的小的列表他们的列表组成结构是一样的&#…

【Red Hat8】:搭建FTP服务器

目录 一、匿名FTP访问 1、新建挂载文件 2、挂载 3、关闭防火墙 4、搭建yum源 5、安装VSFTPD 6、 打开配置文件 7、设置配置文件如下几个参数 8、重启vsftpd服务 9、进入图形化界面配置网络 10、查看IP地址 11、安装ftp服务 12、遇到拒绝连接 13、测试 二、本地…

Golang的网络编程安全

Golang的网络编程安全 一、Golang网络编程的基本概念 作为一种现代化的编程语言&#xff0c;具有优秀的并发特性和网络编程能力。在Golang中&#xff0c;网络编程是非常常见的需求&#xff0c;可以用于开发各种类型的网络应用&#xff0c;比如Web服务、API服务、消息队列等。Go…