农成学PHP-第五讲:PHP的基本语法【一】

最近刚好准备离职了,有时间就打算把这套PHP基本入门教程写完,之前写了四讲都是无关紧要的事情,从这一讲开始农成应该会从基本的语法入门,给大家讲解一下PHP的基本语法,然后最后会有一个实例,类似一个新闻管理系统给大家的,喜欢的朋友可以收藏一下。

PHP变量

在一门新的语言中,变量是一个必不可少的角色之一,所以要好好学习这门语言那么了解基础的东西则显得格外重要了。

变量是用于存储数据的容器。

那么在PHP中变量是怎么样来命名的呢?

PHP 变量规则:

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

特别要注意:PHP 语句和 PHP 变量都是区分大小写的。

例子:

  1. <?php
    
  2. $test = 'Hello World!'; 
    
  3. echo $test;
    
  4. ?>

例子中$test就是一个变量,而我给他的类型是字符串类型,上面的语句输出来的就是Hello World !

至于PHP变量的类型,农成在这里就给大家粗略讲解一下,具体的话可以去php.net官网了解更加详细的内容。

PHP 支持8种基本的数据类型。

四种标量类型:

  • boolean (布尔型)  

这是最简单的类型。boolean 表达了真值,可以为 TRUEFALSE。两个都不区分大小写。

这里给大家特别提示一点,以后编程肯定会遇到的,就是下面的布尔值的值:

当转换为 boolean 时,以下值被认为是 FALSE

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 “0”
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅 PHP 4.0 适用)
  • 特殊类型 NULL(包括尚未赋值的变量)
  • 从空标记生成的 SimpleXML 对象

所有其它值都被认为是 TRUE(包括任何资源)。

-1 和其它非零值(不论正负)一样,被认为是 TRUE

  • integer (整型)
  • float (浮点型, 也称作 double)
  • string (字符串)

两种复合类型:

  • array (数组)
  • object (对象)

最后是两种特殊类型:

  • resource (资源)
  • NULL (NULL)

PHP 变量作用域

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

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

  • local
  • global
  • static
  • parameter

局部和全局作用域

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

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

实例

  1. <?php
    
  2. $x=5; // 全局变量
    
  3. function myTest()
    
  4. {
    
  5. $y=10; // 局部变量
    
  6. echo "<p>Test variables inside the function:<p>";
    
  7. echo "Variable x is: $x";
    
  8. echo "<br>";
    
  9. echo "Variable y is: $y";
    
  10. } 
    
  11. myTest();
    
  12. echo "<p>Test variables outside the function:<p>";
    
  13. echo "Variable x is: $x";
    
  14. echo "<br>";
    
  15. echo "Variable y is: $y";
    
  16. ?>

在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。

当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。

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

PHP global 关键字

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

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

实例

  1. <?php
    
  2. $x=5;
    
  3. $y=10;
    
  4.  
  5. function myTest()
    
  6. {
    
  7. global $x,$y;
    
  8. $y=$x+$y;
    
  9. }
    
  10.  
  11. myTest();
    
  12. echo $y; // 输出 15
    
  13. ?>

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

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

  1. <?php
    
  2. $x=5;
    
  3. $y=10;
    
  4.  
  5. function myTest()
    
  6. {
    
  7. $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    
  8. } 
    
  9.  
  10. myTest();
    
  11. echo $y;
    
  12. ?>

Static 作用域

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

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

实例

  1. <?php
    
  2.  
  3. function myTest()
    
  4. {
    
  5. static $x=0;
    
  6. echo $x;
    
  7. $x++;
    
  8. }
    
  9.  
  10. myTest();
    
  11. myTest();
    
  12. myTest();
    
  13.  
  14. ?>

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

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

参数作用域

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

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

实例

  1. <?php
    
  2.  
  3. function myTest($x)
    
  4. {
    
  5. echo $x;
    
  6. }
    
  7.  
  8. myTest(5);
    
  9.  
  10. ?>

未经允许不得转载:微信信息发源地 » 农成学PHP-第五讲:PHP的基本语法【一】

赞 (4)
分享到:更多 ()

评论 1

评论前必须登录!

登陆 注册