美文网首页
【PHP8入门指南】语法基础与变量

【PHP8入门指南】语法基础与变量

作者: 就叫我菜菜吧 | 来源:发表于2022-07-27 14:40 被阅读0次

    前言:

    PHP是一门解释性弱类型的高级编程语言,自诞生以来就一直秉着大道至简,一切从易的原则。所以PHP对于编程入门来说,是一门十分容易上手且能很快投入开发工作中的编程语言。也正因为如此,导致PHP的从业者们良莠不齐,也就产生了“PHP是世界上最好的语言”的调侃。

    基础语法

    文件格式

    PHP的代码文件是以 .php 结尾的,如 test.php

    代码区声明

    PHP的代码是由一对<?php 和 ?> 包围起来的,即:

    
    <?php
        echo "hello world\n";
    ?>
    
    

    提示:?> 尾标签可以忽略不写,不影响程序执行。头标签必须写!

    输出方式

    PHP主要有两个输出语法:echo 与 print。

    echo 和 print 区别:

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

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

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

    例:

    
    <?php
        echo "hello world\n";
        print "hello world\n";
    
    

    输出结果:

    image

    变量

    介绍

    变量其实可以理解为是一个代数,类似我们从小学习的方程式。例:x + y = 3; x = 1;求y?

    在计算机编程语言中,变量是用于存储信息的“容器”;

    变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 man girl tom)。

    PHP 变量规则:

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

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

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

    4. ****变量名不能包含空格

    5. ****变量名是区分大小写的(y 和Y 是两个不同的变量)

    注意:PHP的变量是区分大小写的!

    变量使用

    因为PHP弱类型语言的特性,在声明使用变量时,我们无需关注即将要声明的变量的类型。将我们想要存储的数据直接声明并赋值给变量,PHP会自动解析变量类型。而在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

    例:

    
    <?php
        $a = 1; // 整型
        $f = 1.0; // 浮点型
        $boolean = true; // 布尔型
        $string1 = 'hello'; // 字符串 
        $string2 = "hello";
        $array = [1,2,3,4,5,6,7,8,9,10,11]; // 数组
        $test = null; // null型
    
    

    注意:代码片段中的 // 为注释标签,不影响程序运行。相同的还有 /** **/

    变量作用域

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

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

    
    <?php
        $a = 1; //全局变量
    
    function test() {
        $b = 2; // 局部变量
      global $a; //通过global关键字来访问全局变量
      echo "函数内部使用局部变量是 {$b}\n";
        echo "函数内部使用全局变量是 {$a}\n";
    }
    
    test(); //运行函数
    echo "函数外部使用局部变量是 {$b}\n";
    echo "函数外部使用全局变量是 {$a}\n";
    
    

    运行结果:

    image

    可以看出,在函数外部去访问函数内部创建的变量b时,程序代码会报错提示未定义的变量b,但访问$a不会报错。

    注意:你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

    Global关键字

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

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

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

    
    <?php
        $x = 15;
        $y = 101;
    function test()
    {
        $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
    }
    test();
    echo $y;
    
    

    运行结果:

    image

    Static关键字

    当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。这时我们就可以使用static关键字,不过由static声明的局部变量始终还是局部变量,并不能在函数外部进行访问。相较于没有static的局部变量而言,只是不会在函数完成后被删除而已。

    例:

    
    <?php
    
    function test() {
        static $a = 0;
        $a = $a + 1;
        echo $a."\n";
    }
    test();
    test();
    test();
    test();
    
    

    输出结果:

    image

    我们可以看到当我们执行四次test()函数,static(静态)变量a也就累加了四次。静态变量a在每次test()函数执行完后都没有被删除,而是继续存在,当我们再次调用test()函数时,PHP就会取出静态变量$a用于函数内部的执行。

    那如果我们去掉static会是怎么样呢?

    例:

    
    <?php
    
    function test() {
        $a = 0;
        $a = $a + 1;
        echo $a."\n";
    }
    test();
    test();
    test();
    test();
    
    

    输出结果:

    image

    可以看出,当我们去除static关键字后,test()函数的每次执行都是一次“崭新”的执行。变量$a在每次执行开始时都会重新创建,执行结束后又被删除,并不会像静态变量那样继续留存在内存中。

    总结

    关于PHP的基础语法与变量的声明和使用,我们就学完了。基于弱类型语言的特点,我们在PHP中使用变量时无需像在C语言JAVA语言以及Go语言这类强类型编程语言中那样去关注变量的数据类型;PHP会根据我们的赋值自动推导出变量类型;这也就代表着各个变量中可以相互覆盖声明而不报错,在我们编程过程中需要避免这种各个变量覆盖声明使用的情况。

    
    <?php
    
        $a = 1;
        $a = "hello";
        echo $a; //我们之前声明的变量a就被后面声明的同名变量所覆盖
    
    

    运行结果:

    image

    相关文章

      网友评论

          本文标题:【PHP8入门指南】语法基础与变量

          本文链接:https://www.haomeiwen.com/subject/lnjzirtx.html