当前位置: 首页 > news >正文

网络空间安全(45)PHP入门学习

一、PHP文件与结构

  1. PHP文件扩展名:PHP文件通常以.php作为扩展名,例如index.php

  2. PHP代码嵌入:PHP代码可以嵌入到HTML文件中,通常使用<?php ... ?>标签包围PHP代码。短标签<? ... ?>在某些配置下也可以使用,但不建议依赖短标签,因为它可能在某些服务器上被禁用。

  3. 输出语句

    • echo:用于输出一个或多个字符串。
      echo "Hello, World!";
    • print:与echo类似,但print只能输出一个字符串,并且总是返回1
      print "Hello, World!";

二、注释

  1. 单行注释:使用//#

    // 这是一个单行注释
    # 这也是一个单行注释
  2. 多行注释:使用/* ... */

    /*
     这是一个多行注释
     可以有多行内容
    */

三、变量

  1. 变量声明:PHP变量以$符号开头,后面跟变量名。变量名必须以字母或下划线开头,可以包含字母、数字和下划线。PHP是弱类型语言,变量类型由赋给它的值自动决定。

    $name = "John";
    $age = 25;
    $isStudent = true;
  2. 变量作用域

    • 局部变量:在函数内部声明的变量,只能在函数内部访问。
    • 全局变量:在函数外部声明的变量,可以在整个脚本中访问。在函数内部访问全局变量需要使用global关键字。
      $x = 5;
      function myTest() {
          global $x;
          $x += 10;
      }
      myTest();
      echo $x; // 输出 15
    • 静态变量:使用static关键字声明的变量,在函数调用结束后保留其值。
      function myFunction() {
          static $count = 0;
          $count++;
          echo $count;
      }
      myFunction(); // 输出 1
      myFunction(); // 输出 2
  3. 可变变量:变量名可以动态设置和使用,例如$$variableName

    $name = "John";
    $$name = "Doe";
    echo $John; // 输出 Doe

四、常量

       常量是一个值在脚本执行期间不能改变的量。PHP中常量名通常使用大写字母表示,定义后不需要$符号引用。

  1. 使用define()函数定义常量

    define("PI", 3.14159);
    echo PI; // 输出 3.14159
  2. 使用const关键字定义常量(PHP 5.3+):

    const R = 6;
    echo R; // 输出 6

五、数据类型

  1. 字符串(string):由字符序列组成,可以使用单引号(')或双引号(")定义。双引号字符串支持变量插值,而单引号字符串不支持。

    $name = "John";
    echo "Hello, $name!"; // 输出 Hello, John!
    echo 'Hello, $name!'; // 输出 Hello, $name!
  2. 整数(integer):没有小数部分的数字,支持十进制、八进制(以0开头)和十六进制(以0x开头)。

    $int = 123;
    $octal = 0123; // 八进制数
    $hex = 0x1A; // 十六进制数
  3. 浮点数(float):有小数部分的数字,也称为双精度数。

    $float = 12.34;
  4. 布尔值(boolean):只有两个值,truefalse

    $isTrue = true;
    $isFalse = false;
  5. 数组(array):存储多个值的集合,可以是索引数组或关联数组。

    // 索引数组
    $fruits = array("apple", "banana", "cherry");
    echo $fruits[0]; // 输出 apple
    
    // 关联数组
    $person = array("name" => "John", "age" => 25);
    echo $person["name"]; // 输出 John
  6. 对象(object):面向对象编程中的实例。使用class关键字声明类对象。

    class Car {
        public $color;
    
        public function __construct($color) {
            $this->color = $color;
        }
    
        public function getColor() {
            return $this->color;
        }
    }
    
    $myCar = new Car("red");
    echo $myCar->getColor(); // 输出 red
  7. NULL:表示一个变量没有值。

    $var = null;

六、运算符

  1. 算术运算符+(加)、-(减)、*(乘)、/(除)、%(取模)。

    $a = 10;
    $b = 3;
    echo $a + $b; // 输出 13
    echo $a - $b; // 输出 7
    echo $a * $b; // 输出 30
    echo $a / $b; // 输出 3.3333
    echo $a % $b; // 输出 1
  2. 赋值运算符=(赋值)、+=(加后赋值)、-=(减后赋值)等。

    $a = 5;
    $a += 10; // 相当于 $a = $a + 10,结果是 15
    $a -= 2; // 相当于 $a = $a - 2,结果是 13
  3. 比较运算符==(等于)、===(全等)、!=(不等于)、!==(不全等)、<(小于)、>(大于)等。

    $a = 10;
    $b = "10";
    var_dump($a == $b); // 输出 bool(true),松散比较,只比较值
    var_dump($a === $b); // 输出 bool(false),严格比较,值和类型都必须相同
  4. 逻辑运算符&&(与)、||(或)、!(非)。

    boolean isAdult = (age >= 18);
    boolean canVote = isAdult && (age < 70); // 判断是否满足投票年龄
  5. 字符串运算符.(连接)。

    $str1 = "Hello";
    $str2 = "World";
    echo $str1 . " " . $str2; // 输出 Hello World

七、控制结构

条件语句

  • if语句:根据条件执行代码块。

    $age = 18;
    if ($age >= 18) {
        echo "You are an adult.";
    }
  • if...else语句:根据条件执行不同的代码块。

    $age = 16;
    if ($age >= 18) {
        echo "You are an adult.";
    } else {
        echo "You are a minor.";
    }
  • if...elseif...else语句:根据多个条件执行不同的代码块。

    $grade = 85;
    if ($grade >= 90) {
        echo "A";
    } elseif ($grade >= 80) {
        echo "B";
    } else {
        echo "C";
    }
  • switch语句

    <?php
    $day = "Monday";
    
    switch ($day) {
        case "Monday":
            echo "Today is Monday.";
            break;
        case "Tuesday":
            echo "Today is Tuesday.";
            break;
        case "Wednesday":
            echo "Today is Wednesday.";
            break;
        default:
            echo "Today is not Monday, Tuesday, or Wednesday.";
            break;
    }
    ?>

 结语       

持续努力

静待花开

!!!

相关文章:

  • 电影交流|基于Java+vue的电影交流平台小程序系统(源码+数据库+文档)
  • 封装了一个优雅的iOS全屏侧滑返回工具
  • [蓝桥杯 2023 省 A] 网络稳定性
  • 鸿蒙富文本实践
  • RK3588使用笔记:系统换源
  • 【YOLO系列】基于YOLOv8的无人机野生动物检测
  • 【NLP】14. NLP推理方法详解 --- beam search 束搜索 以及 graph search 图搜索
  • Nginx学习笔记(一)
  • 人工智能图像识别Scala基础
  • Vue2——组件的注册与通信方式、默认插槽、具名插槽、插槽的作用域
  • 数智化时代下开源AI大模型驱动的新型商业生态构建——基于AI智能名片与S2B2C商城小程序的融合创新研究
  • PH热榜 | 2025-03-30
  • 机器学习:人工智能的核心驱动力
  • windows权限提升 win+iss 宝塔bypass Msf进行提取
  • 优秀的 Vue.js 入门开源项目推荐
  • Python第七章01:文件的读取操作
  • AI 强化学习
  • Shell教程
  • 【质量管理】纠正、纠正措施和预防的区别与解决问题的四重境界
  • 移动端六大语言速记:第2部分 - 控制结构
  • 山东省住房和城乡建设厅定额站子网站/投诉百度最有效的电话
  • 爱站工具包如何增加网站/广点通投放平台
  • 手机网站的特点/seo顾问服务深圳
  • 哪个网站的体验做的最好/搜狗搜索推广
  • 网站建设服务网站建设/站长工具一区
  • 房城乡建设部门户网站/深圳网络营销和推广方案