php语法与基础详细介绍

2024-03-22 09:49 php语法与基础详细介绍已关闭评论

PHP语法与基础主要包括以下几个方面:

一、PHP脚本结构与注释

  1. 脚本开头与结束:
    PHP脚本通常以<?php开始,以?>结束。在现代PHP实践中,为了防止意外输出和提高代码安全性,建议仅在文件末尾或纯PHP文件中使用?>结束标签,而在包含HTML混合的PHP文件中省略结束标签。

  2. 短标签:
    PHP还支持短标签形式<?(在PHP配置文件中启用),但因其可能导致兼容性问题,推荐使用标准长标签<?php。

  3. 注释:

  4. 单行注释:使用//后跟注释内容,例如:
    php
    // This is a single-line comment
  5. 多行注释:使用/*开始,*/结束,例如:
    php
    /* This is a
    multi-line comment */

二、变量

  1. 声明与赋值:
    变量以$符号开头,后面紧跟变量名。声明并赋值时可以直接写成:
    php
    $myVariable = "Hello, World!";

    PHP是弱类型语言,声明变量时无需指定数据类型,类型会在运行时自动推断。

  2. 变量名规则:

  3. 变量名必须以字母或下划线 _ 开始,后续字符可以是字母、数字或下划线。
  4. 变量名区分大小写。
  5. 避免使用PHP保留关键字作为变量名。

三、数据类型

PHP支持多种数据类型:

  1. 标量类型:
  2. string:字符串,可以用单引号 ' 或双引号 " 包围,如 "Hello, World!" 或 'Hello, World!'。
  3. int:整数,如 42。
  4. float(或 double):浮点数,如 3.14。
  5. bool:布尔值,只有 true 和 false 两个值。
  6. null:表示无值或未定义。

  7. 复合类型:

  8. array:数组,可以存储多个值。有索引数组(整数键)和关联数组(字符串键)两种形式。
    php
    $fruits = array("apple", "banana", "orange");
    $colors = array("red" => "#FF0000", "green" => "#00FF00", "blue" => "#0000FF");
  9. object:对象,用于封装数据和方法,通过类实例化得到。

  10. 特殊类型:

  11. resource:表示对系统资源(如文件、数据库连接)的抽象引用。
  12. callable:表示可调用的类型,如函数名、匿名函数或类的方法。

四、操作符与表达式

  1. 算术操作符:
    +, -, *, /, %(求余),以及自增自减操作符 ++ 和 --。

  2. 比较操作符:
    ==(等于)、===(全等,比较值和类型)、!=(不等于)、!==(不全等)、<、>、<=、>=、<=>(太空船操作符,比较并返回-1、0、1)。

  3. 逻辑操作符:
    &&(逻辑与)、||(逻辑或)、!(逻辑非)。

  4. 位操作符:
    &(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)。

  5. 赋值操作符:
    =(简单赋值)、=+, =-, =*, =/, =%, =&, |=, ^=, <<=, >>=(复合赋值)。

  6. 字符串操作符:
    .(字符串拼接)。

五、控制结构

  1. 条件判断:
  2. if、else、elseif 结构:
    php
    if ($condition) {
    // code if true
    } elseif ($anotherCondition) {
    // code if anotherCondition is true
    } else {
    // code if all conditions are false
    }
  3. switch、case、default 结构:
    php
    switch ($expression) {
    case 'value1':
    // code for value1
    break;
    case 'value2':
    // code for value2
    break;
    default:
    // code for default case
    }

  4. 循环:

  5. for 循环:
    php
    for ($i = 0; $i < 10; $i++) {
    echo $i;
    }
  6. while 循环:
    php
    $counter = 0;
    while ($counter < 10) {
    echo $counter++;
    }
  7. do...while 循环:
    php
    $counter = 0;
    do {
    echo $counter++;
    } while ($counter < 10);
  8. foreach 循环(遍历数组):
    php
    $fruits = array("apple", "banana", "orange");
    foreach ($fruits as $fruit) {
    echo $fruit;
    }

六、函数

  1. 定义:
    使用 function 关键字定义函数,例如:
    php
    function greet($name) {
    echo "Hello, " . $name . "!";
    }

  2. 调用:
    调用已定义的函数,传入参数:
    php
    greet("Alice");

  3. 参数与返回值:

  4. 函数可以有任意数量的参数,参数之间用逗号分隔。
  5. 可以使用 return 语句返回函数结果。

  6. 可变参数:
    使用 ...(省略号)表示函数可以接受任意数量的参数作为一个数组。

七、数组

  1. 创建:
  2. 索引数组:
    php
    $numbers = array(1, 2, 3, 4, 5);
  3. 关联数组(键值对):
    php
    $students = array(
    "John" => 20,
    "Jane" => 22,
    "Bob" => 21
    );

  4. 访问:

  5. 索引数组:
    php
    echo $numbers[0]; // 输出 1
  6. 关联数组:
    php
    echo $students["John"]; // 输出 20

  7. 操作:
    使用 count() 获取数组长度,isset() 判断元素是否存在,unset() 删除元素,array_push(), array_pop() 对数组进行堆栈操作,array_shift(), array_unshift() 对数组进行队列操作,array_merge() 合并数组,array_key_exists() 检查键是否存在等。

八、字符串操作

PHP提供了丰富的字符串函数,如 strlen() 计算长度,strpos() 查找子串位置,substr() 截取子串,str_replace() 替换子串,trim()、ltrim()、rtrim() 去除空格,strtolower()、strtoupper() 转换大小写等。

九、常量

使用 define() 函数定义常量,常量一旦定义就不能改变其值。定义时不需要 $ 符号,如:

define("PI", 3.14159);
echo PI;  // 输出 3.14159

十、错误与异常处理

  1. 错误报告:
    设置 error_reporting()、display_errors(在php.ini或.htaccess中)以控制错误显示级别。

  2. 错误抑制:
    使用 @ 操作符抑制特定语句产生的错误信息。

  3. 自定义错误处理:
    使用 set_error_handler() 注册用户自定义的错误处理函数。

  4. 异常处理:
    使用 try-catch 结构捕获和处理异常:
    `php
    try {
    // 可能抛出异常的代码
    } catch (Exception $e) {
    echo "Caught exception: " . $e->getMessage();
    }

你可能感兴趣的文章

来源:每日教程, 每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/3166.html ,谢谢支持!

资源分享

分类:php 标签:
如何使用SVN提交项目备份? 如何使用SVN提交项目备份?
关于nginx防盗链配置中排除url特定字符串的总结 关于nginx防盗链配置中排除url特
doc-writer.skill doc-writer.skill
AI 编程助手,我从「偶尔补全」到「全天候 Agent」的实战路线图 AI 编程助手,我从「偶尔补全」

评论已关闭!