- PHP 教程
- PHP - 首页
- PHP - 路线图
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔法常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混淆
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与 I/O
- PHP - 数学函数
- PHP - Heredoc 和 Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 宇宙飞船运算符
- PHP 控制语句
- PHP - 决策制定
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象的 PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - Final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET & POST
- PHP - 文件上传
- PHP - Cookies
- PHP - Sessions
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 净化输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - Bug 调试
- PHP 适用于 C 语言开发者
- PHP 适用于 PERL 开发者
- PHP - 框架
- PHP - Core PHP 与框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - Use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP 适用于 C 语言开发者
如果您之前了解 C 编程,学习 PHP 会变得容易得多,特别是基础知识。虽然 PHP 非常类似于 C,但它捆绑了一整套特定于 Web 的库,所有内容都直接连接到您最喜欢的 Web 服务器。
最简单的理解 PHP 的方式是将其视为可以嵌入 HTML 文档中的解释型 C 语言。PHP 脚本也可以像 C 程序一样从命令行执行。
语句和函数定义的语法应该很熟悉,除了变量总是以 $ 开头,函数不需要单独的原型。
让我们看看 PHP 和 C 中的一些异同点 -
C 和 PHP 之间的相似之处
语法 - 广义上讲,PHP 语法与 C 中的相同,如果您已经熟悉 C,这使得学习 PHP 变得更容易。与 C 类似,PHP 代码不区分空格,语句以分号结尾。
函数调用具有相同的结构
my_function(expression1, expression2) { Statements; }
花括号用于将多个语句放入代码块中。
PHP 支持 C 和 C++ 样式的注释(/* */ 以及 //),以及 Perl 和 shell 脚本样式的注释 (#)。
运算符 - 赋值运算符(=,+=,*= 等),布尔运算符(&&,||,!),比较运算符(<,>,<=,>=,==,!=)和基本的算术运算符(+,-,*,/,%)在 PHP 中的行为与在 C 中相同。
控制结构 - 基本的控制结构(if,switch,while,for)的行为与在 C 中相同,包括支持 break 和 continue。一个值得注意的区别是 PHP 中的 switch 可以接受字符串作为 case 标识符。
PHP 还具有 foreach 循环结构,它遍历数组等集合。
函数名称 - 当您阅读文档时,您会看到许多似乎与 C 函数相同的函数名称。
C 和 PHP 之间的区别
美元符号 - 所有变量名称都以一个前导 $ 为前缀。变量不需要在赋值之前声明,并且它们没有内在类型。PHP 是一种动态类型语言,而 C 是一种静态类型语言。
类型 - PHP 只有两种数值类型:整数(对应于 C 中的长整型)和双精度浮点数(对应于 C 中的双精度浮点数)。在 PHP 中,float 等同于 double。字符串的长度是任意的。PHP 中没有单独的 char 类型,就像 C 中那样。
类型转换 - C 是一种强类型语言,因为变量的类型必须在使用前声明,并且类型在编译时进行检查。另一方面,PHP 是一种弱类型语言,类型在编译时不进行检查,并且类型错误通常也不会在运行时发生。相反,变量和值会在需要时自动跨类型转换。
数组 - 数组的语法表面上类似于 C 的数组语法,但它们的实现完全不同。在 C 中,数组是相同数据类型的集合。在 PHP 数组中,项目可以是不同类型。PHP 数组实际上是关联数组或哈希表,索引可以是数字或字符串。它们不需要预先声明或分配。
没有 Struct 类型 - C 中的 struct 关键字用于定义新的数据类型。PHP 中没有 struct 关键字或其等价物,部分原因是数组和对象类型一起使它变得不必要。PHP 数组的元素不必具有一致的类型。
没有指针 - 指针是 C 中的一个重要概念。PHP 中没有指针可用,尽管无类型的变量发挥着类似的作用。与 C 不同,PHP 支持变量引用。您也可以在某种程度上模拟函数指针,因为函数名称可以存储在变量中,并通过使用变量而不是文字名称来调用。
没有原型 - 函数不需要在定义其实现之前声明,只要定义可以在当前代码文件或包含文件中找到即可。相反,C 函数必须在使用前定义。
没有 main() - 在 C 程序中,main() 函数是入口点,无论它在代码中的哪个位置。另一方面,PHP 程序从脚本中的第一个语句开始执行
内存管理 - PHP 引擎实际上是一个垃圾回收环境(引用计数),在小型脚本中,不需要进行任何释放操作。您可以随意分配新的结构 - 例如新的字符串和对象实例。在 PHP5 中,可以为对象定义析构函数,但没有像 C/C++ 中那样的 free 或 delete 关键字。当最后一个对对象的引用消失之前,在内存被回收之前,会调用析构函数。
编译和链接 − PHP 是一种解释型语言。因此,不会创建 PHP 脚本的编译版本。C 程序首先被编译以获得目标代码,然后将其链接到所需的库以构建可执行文件。PHP 脚本没有单独的编译步骤。PHP 脚本无法转换为自执行文件。
宽容性 − 总体而言,PHP 比 C(尤其是在其类型系统方面)更宽容,因此允许您犯各种新的错误。意外结果比错误更常见。