PHP 简单学习笔记

看到PHP的语法有种强烈的Perl气息,比较令人遗憾,原以为PHP是更加现代的语言。

  • 方便加深记忆 PHP 与 Perl 语言对比: https://wiki.jikexueyuan.com/project/php/perl-developers.html
  • 官方文档 与 perl 的不同之处: https://www.php.net/manual/zh/reference.pcre.pattern.differences.php
  • 官方文档 PHP 语法参考手册: https://www.php.net/manual/zh/langref.php

基本语法

  • PHP是分号严格的语言,每个语句都需要带上分号 (同Perl)
  • 所有变量以 $ 开头,允许可变变量名 ‘’$$var’’ 就是用var的值作为变量名再求值(同Perl)
  • & 可以取得变量的引用 (Perl为反斜线)
  • 字符串与数值可以根据上下文自动转换(同Perl)

基本数据结构

  • 数组和哈希(字典)均为array, 默认都是使用键值对,数组为没有key的array https://www.php.net/manual/zh/language.types.array.php
    • []中的裸词会被自动解释为字符串,但是裸词也可能是常量,就会发生意外的替换(参考Perl)
  • 对象的成员、成员函数 通过箭头访问 ‘‘$obj->member()’’ (同Perl)
  • 可以将 Array/Scaler 转换为对象,过程有点像Perl的bless (待考证)
  • PHP对象文档 https://www.php.net/manual/zh/language.types.object.php , 有很多有趣的用法

网页互交

  • $_GET['name'] 获取URL参数,xxx.php?name=zhangsan&age=30 这样的格式
  • $_POST['name'] 获取表单信息,PHP手册示例: https://www.php.net/manual/zh/language.variables.external.php