Web后端语言基础——PHP+SQL+Mysql数据库

小明 2025-05-05 23:37:53 5

PHP

PHP 是什么?

  • PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。
  • PHP 脚本在服务器上执行。
  • PHP 可免费下载使���。

    PHP 文件

    • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
    • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
    • PHP 文件的默认文件扩展名是 .php。

      PHP 能做什么?

      • PHP 可以生成动态页面内容
      • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
      • PHP 可以收集表单数据
      • PHP 可以发送和接收 cookies
      • PHP 可以添加、删除、修改您的数据库中的数据
      • PHP 可以限制用户访问您的网站上的一些页面
      • PHP 可以加密数据

        通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。


        基本的 PHP 语法

        PHP 脚本可以放在文档中的任何位置。

        PHP 脚本以  结束:

        PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

        通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。

        PHP echo 和 print 语句

        echo 和 print 区别:

        • echo - 可以输出一个或多个字符串

          echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

          • print - 只允许输出一个字符串,返回值总为 1

            print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。

            提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值

            注释

            //单行注释   /**/多行注释


            PHP 变量

            与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

            变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

            PHP 变量规则:

            • 变量以 $ 符号开始,后面跟着变量的名称
            • 变量名必须以字母或者下划线字符开始
            • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
            • 变量名不能包含空格
            • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

               PHP 语句和 PHP 变量都是区分大小写的。

              创建(声明)PHP 变量

              PHP 没有声明变量的命令。

              变量在第一次赋值给它的时候被创建

               
               
              

              PHP 变量作用域

              变量的作用域是脚本中变量可被引用/使用的部分。

              PHP 有四种不同的变量作用域:

              • local
              • global
              • static
              • parameter

                局部和全局作用域

                在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

                PHP global 关键字

                global 关键字用于函数内访问全局变量。

                在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

                 
                 

                PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

                也可以写成:

                 
                  
                 
                

                Static 作用域

                当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

                要做到这一点,请在您第一次声明变量时使用 static 关键字:

                 
                

                然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

                注释:该变量仍然是函数的局部变量。

                PHP EOF(heredoc) 使用说明

                PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

                使用概述:

                • 1. 必须后接分号,否则编译通不过。
                • 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
                • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
                • 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
                • 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
                   
                  

                  注意:

                  1.以 

                  1、值相等
                  3、类型不相等

                  PHP 常量

                  常量是一个简单值的标识符。该值在脚本中不能改变。

                  一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

                  设置常量,使用 define() 函数,函数语法如下:

                  bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) 

                  该函数有三个参数:

                  • name:必选参数,常量名称,即标志符。

                  • value:必选参数,常量的值。

                  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的。

                    注意:自 PHP 7.3.0 开始,定义不区分大小写的常量已被弃用。从 PHP 8.0.0 开始,只有 false 是可接受的值,传递 true 将产生一个警告。

                    常量是全局的

                    常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用

                     字符串

                    PHP 并置运算符

                    在 PHP 中,只有一个字符串运算符。

                    并置运算符 (.) 用于把两个字符串值连接起来。

                    下面的实例演示了如何将两个字符串变量连接在一起:

                     
                    

                    上面的代码将输出:Hello world! What a nice day!

                    提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。

                    PHP strlen() 函数

                    有时知道字符串值的长度是很有用的。

                    strlen() 函数返回字符串的长度(字节数)。

                    下面的实例返回字符串 "Hello world!" 的长度:

                     
                    

                    PHP strpos() 函数

                    strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

                    如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

                    下面的实例在字符串 "Hello world!" 中查找文本 "world":

                     
                    

                    上面的代码将输出:6

                    PHP 运算符(仅补充)

                    PHP 算术运算符

                    PHP 赋值运算符

                    PHP 比较运算符

                    PHP 逻辑运算符 

                     数组运算符

                     

                    三元运算符

                    另一个条件运算符是"?:"(或三元)运算符 。

                    语法格式

                    (expr1) ? (expr2) : (expr3) 

                    组合比较符(PHP7+)

                    PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

                    语法格式如下:

                    $c = $a  $b;

                    解析如下:

                    • 如果 $a > $b, 则 $c 的值为 
                    • 如果 $a == $b, 则 $c 的值为 0。
                    • 如果 $a  

                      PHP 条件语句

                      当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。

                      在 PHP 中,提供了下列条件语句:

                      • if 语句 - 在条件成立时执行代码
                      • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
                      • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
                      • switch 语句 - 在若干条件之一成立时执行一个代码块
                         
                        

                        PHP 数组

                        在 PHP 中创建数组

                        在 PHP 中,array() 函数用于创建数组:

                        array();

                        在 PHP 中,有三种类型的数组:

                        • 数值数组 - 带有数字 ID 键的数组
                        • 关联数组 - 带有指定的键的数组,每个键关联一个值
                        • 多维数组 - 包含一个或多个数组的数组

                          PHP 数值数组

                          这里有两种创建数值数组的方法:

                          自动分配 ID 键(ID 键总是从 0 开始):

                          $cars=array("Volvo","BMW","Toyota");

                          人工分配 ID 键:

                          $cars[0]="Volvo";

                          $cars[1]="BMW";

                          $cars[2]="Toyota";

                          获取数组的长度 - count() 函数

                          count() 函数用于返回数组的长度(元素的数量):

                           
                          

                          遍历数值数组

                          遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:

                           
                          

                          PHP 关联数组

                          关联数组是使用您分配给数组的指定的键的数组。

                          这里有两种创建关联数组的方法:

                          $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

                          or:

                          $age['Peter']="35";

                          $age['Ben']="37";

                          $age['Joe']="43";

                          遍历关联数组

                          遍历并打印关联数组中的所有值,您可以使用 foreach 循环:

                           
                          

                          PHP - 数组排序函数

                          PHP 数组排序函数:

                          • sort() - 对数组进行升序排列
                          • rsort() - 对数组进行降序排列
                          • asort() - 根据关联数组的值,对数组进行升序排列
                          • ksort() - 根据关联数组的键,对数组进行升序排列
                          • arsort() - 根据关联数组的值,对数组进行降序排列
                          • krsort() - 根据关联数组的键,对数组进行降序排列
                            asort() - 根据数组的值,对数组进行升序排列
                             
                            

                            ksort() - 根据数组的键,对数组进行升序排列

                            下面的实例根据数组的键,对关联数组进行升序排列:

                             
                            

                             

                            PHP 超级全局变量

                            PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

                            PHP 超级全局变量列表:

                            • $GLOBALS
                            • $_SERVER
                            • $_REQUEST
                            • $_POST
                            • $_GET
                            • $_FILES
                            • $_ENV
                            • $_COOKIE
                            • $_SESSION

                              本章节我们将讲解几个常用的超级全局变量,其余变量我们在接下来几个章节会介绍到。

                              PHP 循环

                              在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。

                              在 PHP 中,提供了下列循环语句:

                              • while - 只要指定的条件成立,则循环执行代码块
                              • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
                              • for - 循环执行代码块指定的次数
                              • foreach - 根据数组中每个元素来循环代码块

                                 

                                foreach 循环

                                foreach 循环用于遍历数组。

                                语法
                                foreach ($array as $value)
                                {
                                    要执行代码;
                                }

                                每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

                                foreach ($array as $key => $value)
                                {
                                    要执行代码;
                                }

                                每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。

                                实例:

                                 
                                

                                 PHP 函数

                                创建 PHP 函数

                                函数是通过调用函数来执行的。

                                语法
                                 
                                 
                                 

                                PHP 函数准则:

                                • 函数的名称应该提示出它的功能
                                • 函数名称以字母或下划线开头(不能以数字开头)

                                  PHP 变量函数

                                  变量函数是指在 PHP 中,将一个变量作为函数名来调用的函数。

                                  变量函数可以让我们在运行时动态地决定调用哪个函数。

                                   
                                  

                                  也可以用变量函数的语法来调用一个对象的方法。

                                   
                                  

                                  面向对象(与Java相似)

                                  面向对象编程的三个主要特性:

                                  • 封装(Encapsulation):指将对象的属性和方法封装在一起,使得外部无法直接访问和修改对象的内部状态。通过使用访问控制修饰符(public、private、protected)来限制属性和方法的访问权限,从而实现封装。

                                  • 继承(Inheritance):指可以创建一个新的类,该类继承了父类的属性和方法,并且可以添加自己的属性和方法。通过继承,可以避免重复编写相似的代码,并且可以实现代码的重用。

                                  • 多态(Polymorphism):指可以使用一个父类类型的变量来引用不同子类类型的对象,从而实现对不同对象的统一操作。多态可以使得代码更加灵活,具有更好的可扩展性和可维护性。在 PHP 中,多态可以通过实现接口(interface)和使用抽象类(abstract class)来实现。

                                    PHP 类定义

                                    PHP 定义类通常语法格式如下:

                                     
                                    

                                    解析如下:

                                    • 类使用 class 关键字后加上类名定义。

                                    • 类名后的一对大括号({})内可以定义变量和方法。

                                    • 类的变量使用 var 来声明, 变量也可以初始化值。

                                    • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。

                                       

                                      PHP 中创建对象

                                      类创建后,我们可以使用 new 运算符来实例化该类的对象:

                                      $runoob = new Site;
                                      $taobao = new Site;
                                      $google = new Site;

                                      以上代码我们创建了三个对象,三个对象各自都是独立的,接下来我们来看看如何访问成员方法与成员变量。

                                      调用成员方法

                                      在实例化对象后,我们可以使用该对象调用成员方法,该对象的成员方法只能操作该对象的成员变量:

                                       
                                      

                                      PHP 构造函数

                                      构造函数是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,在创建对象的语句中与 new 运算符一起使用。

                                      PHP 5 允许开发者在一个类中定义一个方法作为构造函数,语法格式如下:

                                      void __construct ([ mixed $args [, $... ]] )
                                      

                                      析构函数

                                      析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。

                                      PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,其语法格式如下:

                                      void __destruct ( void )

                                      继承

                                      PHP 使用关键字 extends 来继承一个类,PHP 不支持多继承,格式如下:

                                      class Child extends Parent {
                                         // 代码部分
                                      }

                                      方法重写

                                      如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

                                      实例中重写了 getUrl 与 getTitle 方法:

                                      function getUrl() {
                                         echo $this->url . PHP_EOL;
                                         return $this->url;
                                      }
                                         
                                      function getTitle(){
                                         echo $this->title . PHP_EOL;
                                         return $this->title;
                                      }
                                      

                                      访问控制

                                      PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。

                                      • public(公有):公有的类成员可以在任何地方被访问。
                                      • protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
                                      • private(私有):私有的类成员则只能被其定义所在的类访问。
                                        方法的访问控制

                                        类中的方法可以被定义为公有,私有或受保护。如果没有设置这些关键字,则该方法默认为公有。

                                        接口

                                        使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

                                        接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

                                        接口中定义的所有方法都必须是公有,这是接口的特性。

                                        要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

                                         

                                         
                                        

                                        PHP 表单和用户输入

                                        PHP 表单处理

                                        有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。

                                        下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。

                                        
                                        
                                        菜鸟教程(runoob.com)
                                        
                                        
                                         
                                        
                                        名字: 
                                        年龄: 
                                        
                                        
                                         
                                        
                                        

                                        当用户填写完上面的表单并点击提交按钮时,表单的数据会被送往名为 "welcome.php" 的 PHP 文件:

                                        欢迎!
                                        你的年龄是   岁。

                                        表单元素

                                        HTML 表单代码如下所示:

The End
微信