网络空间安全(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;
    }
    ?>

 结语       

持续努力

静待花开

!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/74025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入 OpenPDF:高级 PDF 生成与操作技巧

1 引言 1.1 项目背景 在许多企业级应用中,生成和操作 PDF 文档是一个常见的需求。PDF(Portable Document Format)因其格式统一、易于打印和分发而被广泛使用。本文将介绍如何使用 OpenPDF 库在 Java 项目中生成和操作 PDF 文档。 1.2 技术选型理由 OpenPDF:OpenPDF 是一…

力扣hot100——最长连续序列(哈希unordered_set)

题目链接&#xff1a;最长连续序列 1、错解&#xff1a;数组做哈希表&#xff08;内存超出限制&#xff09; int longestConsecutive(vector<int>& nums) {vector<bool> hash(20000000010, false);for(int i0; i<nums.size();i){hash[1000000000nums[i]]t…

Qt中信号带参传值

在我们的Qt信号中是可以进行参数的传递的&#xff0c;不过格式上与写普通函数不同。 这是头文件中定义一个含参信号和一个含参槽函数 我们再来看它们两个的绑定 。第一行的clicked()和on_btn_clicked()就是普通无参信号和槽的绑定&#xff1b;第二行就是上图中两个带参信号和槽…

CSS3学习教程,从入门到精通, CSS3 列表控制详解语法知识点及案例代码(24)

CSS3 列表控制详解 CSS 列表控制的语法知识点及案例代码的详细说明&#xff0c;包括 list-style-type、list-style-image、list-style-position 和 list-style 的用法。 1. list-style-type 属性 list-style-type 属性用于设置列表项标记的类型。 语法 list-style-type: v…

用Deepseek写扫雷uniapp小游戏

扫雷作为Windows系统自带的经典小游戏&#xff0c;承载了许多人的童年回忆。本文将详细介绍如何使用Uniapp框架从零开始实现一个完整的扫雷游戏&#xff0c;包含核心算法、交互设计和状态管理。无论你是Uniapp初学者还是有一定经验的开发者&#xff0c;都能从本文中获得启发。 …

Dust3r、Mast3r、Fast3r

目录 一.Dust3r 1.简述 2.PointMap与ConfidenceMap 3.模型结构 4.损失函数 5.全局对齐 二.Mast3r 1.简述 2.MASt3R matching 3.MASt3R sfm 匹配与标准点图 BA优化 三.Fast3r 1.简述 2.模型结构 3.损失函数 三维重建是计算机视觉中的一个高层任务&#xff0c;包…

学习不同电脑cpu分类及选购指南

学习不同电脑cpu分类及选购指南 关于电脑cpu 学习不同电脑cpu分类及选购指南一、CPU型号的核心组成与命名规则Intel命名规则:AMD命名规则:代数:具体型号:cpu后缀:Intel常见后缀及其含义:AMD后缀常见后缀及其含义:二、主流品牌CPU的分类与性能差异三、区分CPU型号的实用方…

【身份安全】零信任安全框架梳理(一)

目录 零信任网络安全防护理念一、定义零信任原则 二、零信任实现方式三、零信任的核心机制和思想1. 持续验证&#xff08;Continuous Verification&#xff09;2. 多因素认证&#xff08;MFA&#xff09;与强身份验证3. 细粒度权限控制&#xff08;最小权限原则&#xff09;4. …

【LeetCode Solutions】LeetCode 101 ~ 105 题解

CONTENTS LeetCode 101. 对称二叉树&#xff08;简单&#xff09;LeetCode 102. 二叉树的层序遍历&#xff08;中等&#xff09;LeetCode 103. 二叉树的锯齿形层序遍历&#xff08;中等&#xff09;LeetCode 104. 二叉树的最大深度&#xff08;简单&#xff09;LeetCode 105. 从…

革新汽车安全通信技术,美格智能全系车载通信模组支持NG-eCall

根据QYR&#xff08;恒州博智&#xff09;的统计及预测&#xff0c;2024年全球汽车无线紧急呼叫&#xff08;eCall&#xff09;设备市场销售额达到了25.17亿美元&#xff0c;预计2031年将达到44.97亿美元&#xff0c;年复合增长率&#xff08;CAGR 2025-2031&#xff09;为8.8%…

Redis-04.Redis常用命令-字符串常用命令

一.字符串操作命令 set name jack 点击左侧name&#xff0c;显示出值。 get name get abc&#xff1a;null setex key seconds value&#xff1a;设置过期时间&#xff0c;过期后该键值对将会被删除。 然后再get&#xff0c;在过期时间内可以get到&#xff0c;过期get不到。…

一文总结常见项目排查

慢sql排查 怎么排查 通过如下命令&#xff0c;开启慢 SQL 监控&#xff0c;执行成功之后&#xff0c;客户端需要重新连接才能生效。 -- 开启慢 SQL 监控 set global slow_query_log 1; 默认的慢 SQL 阀值是10秒&#xff0c;可以通过如下语句查询慢 SQL 的阀值。 -- 查询慢…

使用Python爬虫获取淘宝App商品详情

在电商领域&#xff0c;获取商品详情数据对于市场分析、竞品研究和用户体验优化至关重要。淘宝作为国内领先的电商平台&#xff0c;提供了丰富的商品资源。虽然淘宝App的数据获取相对复杂&#xff0c;但通过Python爬虫技术&#xff0c;我们可以高效地获取淘宝App商品的详细信息…

Redis-06.Redis常用命令-列表操作命令

一.列表操作命令 LPUSH key value1 [value2]&#xff1a; LPUSH mylist a b c d: LRANGE key start stop&#xff1a; LRANGE mylist 0 -1&#xff1a; lrange mylist 0 2&#xff1a; d c b RPOP KEY&#xff1a;移除并返回最后一个元素 RPOP list a LLEN key…

客户端给服务器发数据,服务器不显示:开放端口操作

当你写完UDP/TCP代码进行测试时&#xff0c;发现没出什么错误&#xff0c;但是不管你客户端怎么发送消息&#xff0c;服务器就是不显示&#xff0c;那么很有可能你云服务器没开放端口。比如&#xff1a; 接下来教你开放端口&#xff1a; 一&#xff1a;进入你买云服务器的页面…

IDApro直接 debug STM32 MCU

使用IDA pro 逆向分析muc 固件的时候&#xff0c; 难免要进行一些动态的debug&#xff0c;来进一步搞清楚一些内存的数据、算法等&#xff0c;这时候使用远程debug 的方式直接在mcu上进行debug 最合适不过了。 不过有个前提条件就是一般来说有的mcu 会被运行中的代码屏蔽 RDP、…

系统与网络安全------Windows系统安全(1)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 用户账号基础 本地用户账号基础 用户账号概述 用户账号用来记录用户的用户名和口令、隶属的组等信息 每个用户账号包含唯一的登录名和对应的密码 不同的用户身份拥有不同的权限 操作系统根据SID识别不同…

测试用例管理工具

一、免费/开源工具 TestLink 适用场景&#xff1a;传统手工测试团队&#xff0c;需基础用例管理与测试计划跟踪。 关键功能&#xff1a;用例分层管理、执行结果记录、基础报告生成。 局限&#xff1a;界面陈旧&#xff0c;自动化集成需插件支持。 Kiwi TCMS 适用场景&#xff1…

漏洞挖掘---顺景ERP-GetFile任意文件读取漏洞

一、顺景ERP 顺景 ERP 是广东顺景软件科技有限公司研发的企业资源规划系统。它以制造为核心&#xff0c;融合供应链、财务等管理&#xff0c;打破部门壁垒&#xff0c;实现全程无缝管理。该系统功能丰富&#xff0c;支持多语言、多平台&#xff0c;具备柔性流程、条码应用等特色…

关于bug总结记录

1、vs中出现bug error C1083:无法打开文件 链接&#xff1a;vs中出现bug error C1083:无法打开文件_vs20151083错误解决方法-CSDN博客 2、 VS小技巧&#xff1a;系统却提示&#xff1a;示msvcp120.dll丢失 链接&#xff1a;VS小技巧&#xff1a;系统却提示&#xff1a;示msvc…