第二阶段:核心编程 - PHP基础语法

menu:

一、php基础语法

    1. PHP语法规则
    1. PHP标记
    1. 注释

二、变量及操作

    1. 概念
    1. 声明变量
    1. 修改变量的值
    1. 删除变量
    1. 可变变量

三、预定义变量

四、内存原理(形象理解)

    1. 内存结构
    1. php的执行过程
    1. php嵌入到HTML的执行
    1. php变量中的传递方式

五、常量

    1. 概念
    1. 定义
    1. 常量的判断及获取所有常量
    1. 魔术常量

六、php的数据类型

    1. 数据类型的分类
    1. 整数型 int
    1. 浮点型 float
    1. 字符串 string
    1. 布尔型 Bool
    1. 数组 Array
    1. 数组 null类型
    1. 资源类型

php基础语法 > 第二天视频 > 02php语法规则

一、PHP基本语法
  • PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言;
  • PHP原始为Personal Home Page的缩写, 现在已经正式更名为:Hypertext Preprocessor,中文名:“超文本预处理器”);
  1. PHP语法规则

    • 如果文档后缀名是.htm,那即使文档里有php代码也不会交给php解析处理。只有后缀名是.php的文档才会交给PHP处理,然后php交还给Apache,Apache再交给browser显示;
    • php每一条语句后必须有;分号;
    • php中的变量名规则与python相同,方法、函数和类名最好遵照python规则;
  2. PHP标记

    • php开始至今存在四种标签;
    • 标准格式(xml)
    • script格式


      第二阶段:核心编程 - PHP基础语法_第1张图片
      script格式标记
    • 短格式 默认未开启,需要在php文件夹 - php.ini里配置开启;
    • asp格式 <% ... %> 默认未开启,需要在php文件夹 - php.ini里配置开启;
  3. 注释

    • 单行注释 // 注释内容
    • 多行注释 /* 多行注释 */


二、变量及操作
  • 程序语言就是对内存进行操作(对内存进行读写操作)
  1. 概念

    • 变量是内存中临时存储数据的一个空间,这个空间的名字就叫做变量名,变量名是用于对这个内存中的数据进行引用的;
  2. 声明变量

    • php中的变量必须以“$”开头,变量名只能包含字母、数字、下划线,且只能以字母或下划线开头;
    • $variable = value
$a = 10;
$b = 5;
$result = $a + $b;
echo $result;   // 15
  1. 修改变量的值
    • 重新赋值即可;
$name = "Bob";
$name = "Ham";
echo $name;   // Ham
  1. 删除变量
    • 语法:unset($variable);
$name = "Bob";
unset($name);
echo $name;   //  Undefined variable: name 
  1. 可变变量
    • 先解析age就能得到17;
$item = "age";
$age = 17;   // 先解析$item为age,然后解析$age就能得到17
echo $$item  // 17

$item = "age";
$$item = 17;   // 为动态变量赋值;
echo $age  // 17

三、 预定义变量
  • php为我们预先定义了一组变量,这些变量会在不同的需求中使用。
    • $_GET 用于接收前台表单使用GET方式提交得数据;
    • $_POST 用于接收前台表单使用POST方式提交得数据;
    • $_REQUEST 用于接收前台表单使用GET 或 POST方式提交得数据;
    • $_SERVER 记录服务器端与客户端得相关信息;
    • $_COOKIE 一种会话技术;
    • $_SESSION 一种会话技术;
    • $_FILES 用于记录用户上传的文件信息;
    • $_GLOBAL 用于记录全局变量

四、 内存原理(形象理解)
  1. 内存结构


    第二阶段:核心编程 - PHP基础语法_第2张图片
    内存结构
    • 栈区
      • 保存的是变量名(术语叫引用)。对于cpu来说,读写速度是最快的。
    • 堆区
      • 存储的是“复杂”的数据:数组、对象;
    • 数据段
      • 存储的是简单的数据:整数型、浮点型
    • 代码段
      • 存储的是源代码对应的机器指令。(代码转换成的机器指令)
    • 输出缓存
      • 只要遇到输出命令,例如:echo、print、print_r、var_dump,这些指令都会将所要输出的数据放在 输出缓冲 中。
  2. php的执行过程

      1. 编译阶段
      • 进行语法检查、词法检查、代码优化;
      • 编译通过后将源代码转换成机器指令;
      • 编译阶段错误的提示信息;
      1. 执行阶段
      • 如果编译通过后,会将源代码对应的机器指令保存在代码段,再开始执行代码段中的机器指令;
      • 1、编译阶段
      • 1.1、语法检查、词法检查、代码优化,然后在代码段生成机器指令;
      • 2、执行阶段
      • 2.1、执行代码段中的代码
      • 2.2、编译阶段


        第二阶段:核心编程 - PHP基础语法_第3张图片
        图片.png
  3. php嵌入到HTML的执行

    • 当php功能模块在处理一个php文件时,它只关心php代码(使用php标签包含的代码)。对于非php代码,它会原样输出;


      第二阶段:核心编程 - PHP基础语法_第4张图片
      图片.png
  4. php变量中的传递方式

    • 在php中变量有两种传递方式:
      1. 赋值传值:
        • 使用一个变量a为另一个变量b赋值时,传递的事变量a的值,这种赋值方就是赋值传值


          第二阶段:核心编程 - PHP基础语法_第5张图片
          赋值传值
      2. 引用传值:
        • 利用&符号来把赋值传值改变为引用传值。
        • 使用一个变量a为另一个b赋值时,传递的事变量a的地址,这种赋值方式就是引用传值;
        • 相当于python的可变数据类型;


          第二阶段:核心编程 - PHP基础语法_第6张图片
          引用传值

五、常量
  1. 概念:

    • 常量就是一种特殊的变量,也是用于存储数据。常量一旦定义就不允许修改其值,常量本身也不允许删除。
  2. 定义

    • 语法:
        1. difine("const_name", value)
        1. const const_name = value
    • 说明:
        1. 常量一旦定义就不允许修改
        1. 常量的值只能是基本的数据类型(标量数据类型)
        1. 常量在命名时一般使用全大写形式,常量前面不需要加$符号;
    • define 和 const 的区别:
        1. define语法可以在分支结构中(if)定义常量,const不允许;
        1. define("PI", 3.14, true) // 如果函数内第3个参数为“true”,使用常量的时候可以不区分大小写;
    if(true){
        // 分支结构里只能用define
        define("PI", 3.14);  // 正确
        const PI = 3.14;     // 不正确
    }
        define("PI", 3.1415);   // 常量定义语法1;
        print(PI);    // 3.1415
        PI = 10;  // 常量不期待“=”Parse error: syntax error, unexpected '='
        const name = "Bob"; // 常量定义语法2;
    1. 常量的判断及获取所有常量
    • 判断常量是否存在 : 利用defined函数
    • 获取php的所有常量: 用get_defined_constants函数;
//判断常量是否存在
const NAME = "Bob";  // 定义常量;
$result = defined("NAME");   // 判断常量是否存在;
var_dump($result)   // 函数用于输出变量的相关信息。 输出为:bool(true)
// 获取php的所有常量
$result = get_defined_constants();  // 查看php所有的常量
echo "
";  // 
 标签的一个常见应用就是用来表示计算机的源代码。
print_r($result)   // 打印结果
//  单独获取PHP常量;
echo  "PHP_VERSION = ", PHP_VERSION, "
"; // 5.6.30 echo "PHP_OS = ", PHP_OS, "
"; // WINNT echo "PHP_INT_MAX = ", PHP_INT_MAX, "
"; //2147483647
  1. 魔术常量
    • php中定义了一组魔术常量;
echo __FILE__, "
"; // 获取当前文件路径和文件名; echo __DIR__, "
"; // 获取当前的文件名; echo __LINE__, "
"; // 获取当前的行号; echo __METHOD__, "
"; // 获取当前方法的方法名; echo __CLASS__, "
"; // 获取当前类的类名; echo __NAMESPACE__, "
"; // 获取当前命名空间的空间名; echo __FUNCTION__, "
"; // 获取当前函数的函数名; // 实例:显示当前函数的函数名; function showInfo(){ echo "function name is: ", __FUNCTION__, "
"; } showInfo();

六、php的数据类型

  1. 数据类型的分类

    • php数据类型分3大类 8小类:
        1. 标量(scalar)数据类型;
        • int 整数型 int 和 float 统一归类为Number
        • float 浮点型
        • boolean 布尔型
        • string 字符串
        1. 复合数据类型;
        • Array 数组
        • Object 对象
        1. 特殊数据类型;
        • null null
        • resource 资源类型
  2. 整数型 int

    • 线性的整数
      • 十进制
        • $v = 255;
      • 八进制
        • 以0开头,且不能有超过7的数字;
      • 十六进制
        • 以0x开头,包含0-9 a-f
// 十进制
$v1 = 255;
echo $v1, "
"; // 255 // 八进制 $v2 = 076; echo $v2, "
"; // 62 // 十六进制 $v3 = 0xFF; echo $v3, "
"; // 255
  1. 浮点型 float
    • 带有小数点的数都是浮点类型;
    • 小数点有两种表示方式:
        1. 普通方式
        • $v = 3.6;
        1. 科学计数法
        • $v = 12.345E-2; // 0.12345
// 不能随意得对两个小数进行比较;
if(0.9-0.3==0.6){
    echo("true");
}else{
    echo("false");    // false 
}
  1. 字符串 string
    • 字符串就是单引号 或 双引号括起来得字符。
      1. 使用单引号定义得字符串;
      • 单引号字符串里能转义的字符有 “ //, /' ”
      1. 使用双引号定义得字符串;
      • 双引号字符串里所有转义符都能被转义;
      1. heredoc
      • 第三种表达字符串的方法是用 heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志
// heredoc
$bar = <<
  1. 布尔型 Bool
  2. 数组 Array
  3. 数组 null类型
  4. 资源类型

// heredoc
$bar = <<

你可能感兴趣的:(第二阶段:核心编程 - PHP基础语法)