• PHP 基础知识


    PHP 基础知识


     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 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)

    • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)

    • PHP 提供了广泛的数据库支持

    • PHP 是免费的,可从官方的 PHP 资源下载它: www.php.net

    • PHP 易于学习,并可高效地运行在服务器端


     PHP 语法

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

    PHP 脚本以  <?php 开始,以 ?>  结束:

    <?php
    // PHP 代码
    ?>

    PHP 文件的默认文件扩展名是 ".php"。

    PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。

    下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 " Hello World! " :

    <!DOCTYPE html> 
    <html> 
    <body> 
    
    <h1>My first PHP page</h1> 
    
    <?php 
      echo "Hello World!"; 
    ?> 
    
    </body> 
    </html>

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

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


     PHP 注释

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    // 这是 PHP 单行注释
    
    /*
    这是 
    PHP 多行
    注释
    */
    ?>
    
    </body>
    </html>

     PHP 变量

    <?php
    $x=5;
    $y=6;
    $z=$x+$y;
    echo $z;
    ?>

    与代数相类似

      x=5
      y=6
      z=x+y

      在代数中,我们使用字母(如 x),并给它赋值(如 5)。

      从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。

      在 PHP 中,这些字母被称为变量

    变量是用来存储数据的容器

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

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

    PHP 变量规则

    • 变量以 $ 符号开始,后面跟着变量的名称

    • 变量名必须以字母或者下划线字符开始

    • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

    • 变量名不能包含空格

    • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

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


     创建声明 PHP 变量

    <?php
    $txt="Hello world!";
    $x=5;
    $y=10.5;
    ?>

    在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5

    注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。


    PHP 是一门弱类型语言

    在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。

    PHP 会根据变量的值,自动把变量转换为正确的数据类型。

    在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。


    PHP 变量作用域

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

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

    • local
    • global
    • static
    • parameter

    局部和全局作用域

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

    在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

    <?php 
    $x=5; // 全局变量 
    
    function myTest() 
    { 
        $y=10; // 局部变量 
        echo "<p>测试函数内变量:<p>"; 
        echo "变量 x 为: $x"; 
        echo "<br>"; 
        echo "变量 y 为: $y"; 
    }  
    
    myTest(); 
    
    echo "<p>测试函数外变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
    ?>

    PHP global 关键字

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

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

    <?php
    $x=5;
    $y=10;
     
    function myTest()
    {
        global $x,$y;
        $y=$x+$y;
    }
     
    myTest();
    echo $y; // 输出 15
    ?>

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

    上面的实例可以写成这样:

    <?php
    $x=5;
    $y=10;
     
    function myTest()
    {
        $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    } 
     
    myTest();
    echo $y;
    ?>

    Static 作用域

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

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

    <?php
    function myTest()
    {
        static $x=0;
        echo $x;
        $x++;
    }
     
    myTest();
    myTest();
    myTest();
    ?>

     参数作用域

    参数是通过调用代码将值传递给函数的局部变量。

    参数是在参数列表中声明的,作为函数声明的一部分

    <?php
    function myTest($x)
    {
        echo $x;
    }
    myTest(5);
    ?> 

     echoprint 语句

    在 PHP 中有两个基本的输出方式: echoprint 

    echo 和 print 区别:

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

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


    echo输出

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

    echo 命令输出字符串(字符串可以包含 HTML 标签):

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    echo "hello world";
    echo "<h2> good good study</h2>";
    ?>
    
    </body>
    </html>

        

    使用 echo 命令输出变量和字符串:

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    echo "hello world";
    echo "<h2> good good study</h2>";
    $name = "wjw";
    $age = 18;
    // 创建一个数组
    $cars = array("volvo","bmw","toyota");
    echo $name;
    echo "<br>";
    echo "I'm {$name}, 我今年{$age}岁了";
    echo "<br>";
    echo "我的汽车品牌有:{$cars[0]}";
    ?>
    
    </body>
    </html>

        


     print输出

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

    使用 print 命令输出字符串和变量(字符串可以包含 HTML 标签):

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    print "hello world";
    print "<h2> good good study</h2>";
    $name = "wjw";
    $age = 18;
    // 创建一个数组
    $cars = array("volvo","bmw","toyota");
    print $name;
    print "<br>";
    print "I'm {$name}, 我今年{$age}岁了";
    print "<br>";
    print "我的汽车品牌有:{$cars[0]}";
    ?>
    
    </body>
    </html> 

       


    echo print 语句的区别

      1、echo 可以输出一个或多个字符串;

      2、print 只允许输出一个字符串,返回值总为 1;

      3、echo 输出的速度比 print 快;

      4、echo 没有返回值,print 有返回值 1;


     其他输出方式 

    echo()

      可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

    print()

       函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

    print_r()

      可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印" "。因此用var_dump()函数更适合调试。

    var_dump()

      判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。


      EOF(heredoc) 使用说明

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

    使用概述:

    • 1. 必须后接分号,否则编译通不过。

    • 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。

    • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。

    • 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。

    • 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

     案例展示

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    echo <<<EOF
        <h1>我是h1标签</h1>
        <h2>我是h2标签</h2>
        <h3>我是h3标签</h3>
    EOF;
    // 结束需要独立一行且前后不能空格
    ?>
    
    </body>
    </html>

         

    注意:

      1. 以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

      2. 开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

      3. 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接,如下:  

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    $name="runoob";
    $a= <<<EOF
        "abc"$name
        "123"
    EOF;
    // 结束需要独立一行且前后不能空格
    echo $a;
    ?>
    
    </body>
    </html>

        


     PHP 数据类型

      - String (字符串)

      - Integer (整型)

      - Float (浮点型)

      - Boolean (布尔型)

      - Array (数组)

      - Object (对象)

      - NULL (空值)


     String - 字符串

    <?php
    $x = "Hello world!";
    echo $x;
    echo "<br>";
    $y = 'Hello PHP!';
    echo $y;
    ?>

         


     Integer - 整型

      整数是一个没有小数的数字。

      整数规则:

      •   整数必须至少有一个数字 (0-9)

      •   整数不能包含逗号或空格

      •   整数是没有小数点的

      •   整数可以是正数或负数

      •   整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

    <?php
    $x = 5985;
    //var_dump() 函数返回变量的数据类型和值:
    var_dump($x);
    echo "<br>";
    $x = -345; // 负数
    var_dump($x);
    echo "<br>";
    $x = 0x8C; // 十六进制数
    var_dump($x);
    echo "<br>";
    $x = 047; // 八进制数
    var_dump($x);
    ?>

           


     Float - 浮点型

    浮点数是带小数部分的数字,或是指数形式。

    <?php 
    $x = 10.365;
    var_dump($x);
    echo "<br>"; 
    $x = 2.4e3;
    var_dump($x);
    echo "<br>"; 
    $x = 8E-5;
    var_dump($x);
    ?>

           


     Boolean - 布尔型

    布尔型可以是 TRUEFALSE 

    $x=true;
    $y=false;

     Array  - 数组

    数组可以在一个变量中存储多个值。

    <?php 
    $cars=array("Volvo","BMW","Toyota");
    var_dump($cars);
    ?>

        


    Object - 对象

    对象数据类型也可以用于存储数据。

    在 PHP 中,对象必须声明。

    首先,你必须使用class关键字声明类对象。类是可以包含属性方法的结构。

    <?php
    
    class Car
    {
        var $color;
    
        function __construct($color = "green")
        {
            $this->color = $color;
        }
    
        function what_color()
        {
            return $this->color;
        }
    }
    
    ?>

     NULL - 空值 

    NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

    NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

    <?php
    $x="Hello world!";
    $x=null;
    var_dump($x);
    ?> 

     PHP - 常量 

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

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

    注意: 常量在整个脚本中都可以使用。

    设置常量

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

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

    该函数有三个参数:

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

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

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

     创建一个 区分大小写的常量

    <?php
    // 区分大小写的常量名
    define("GREETING", "欢迎访问 Runoob.com");
    echo GREETING;    // 输出 "欢迎访问 Runoob.com"
    echo '<br>';
    echo greeting;   // 输出 "greeting"
    ?>

     创建一个 不区分大小写的常量

    <?php
    // 不区分大小写的常量名
    define("GREETING", "欢迎访问 Runoob.com", true);
    echo greeting;  // 输出 "欢迎访问 Runoob.com"
    ?>

     常量是全局的

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

    以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。

    <html>
    <head>
        <title>PHP 学习</title>
    </head>
    <body>
    
    <?php
    define("GREETING", "欢迎访问 Runoob.com");
    
    function myTest() {
        echo GREETING;
    }
    
    myTest();    // 输出 "欢迎访问 Runoob.com"
    ?>
    
    </body>
    </html>

       

  • 相关阅读:
    python学习笔记之九:模块和包
    python学习笔记之八:迭代器和生成器
    python学习笔记之七:魔法方法,属性
    python学习笔记之六:更加抽象
    python学习笔记之五:抽象
    python学习笔记之四:条件,循环和其他语句
    python学习笔记之三:字典,当索引不好用时
    python学习笔记之二:使用字符串
    yolo自己的数据集中LabelImg的安装出现No module named 'libs.resources'错误
    django2 rest_framework + vue.js + mysql5.6 实现增删改查
  • 原文地址:https://www.cnblogs.com/wjw1014/p/9031205.html
Copyright © 2020-2023  润新知