Book name: PHP and MySQL Web Development 3rd, Luke Welling, Laura Thomson
Laura:女,墨尔本皇家理工大学的计算机讲师,也是Tangled Web Design公司的合伙人。
Luke:资深web开发者,任职于MySQL AB公司,曾在墨尔本皇家理工大学任教。
他们都获得了MySQL AB公司颁发的MySQL Core Certification,以及Zend公司颁发的Zend Certified PHP工程师。
PHP访问表单变量
3种具体访问方式取决于PHP的版本和php.ini设置。
- $username //自4.2.0版本后不是默认方式,不推荐
- $_POST['username'] //推荐!4.1.0版本后才支持。$_GET, $_POST取决于表单提交方式,但$_REQUEST是通用的。
- $HTTP_POST_VARS['username'] //将来会抛弃!
PHP拼接字符串
- 使用句号(.)。E.g. echo $username.'!';
- 使用双引号("")。E.g. echo "$username!"; //注意不能使用单引号。单引号扩住的变量不会被替换成它的值。
标识符
标识符是变量的名字(function和class的名字也是标识符)。要注意一些规则:
可以任何长度,可以由字母、数字和下划线组成,但是不能以数字开头,标识符是区分大小写的,不过function的名字是个例外,它是不区分大小写的。一个变量名可以与函数名相同,应当尽量避免。
用户自定义变量
使用前不需要声明,使用等号(=)给变量赋值。
变量类型
PHP支持Integer, Float, String, Boolean, Array, Object类型。有两种特别类型:NULL和resource。
类型强度
PHP是弱类型语言。
强类型语言的变量只有一个类型,而PHP中的变量的类型是由其值决定的。
变量的变量
类似于指针的指针。
常量
常量只能设置一次,且不可变化。
define('OLDPRICE',100);
引用变量不需要使用$符号。
echo OLDPRICE;
理解变量作用域
- 任何地方都可以访问内置的superglobal变量、常量。
- global变量在函数之外的任何地方都可以访问,要访问的话只好在函数内再定义一个名字相同的变量。
- 函数内定义的static变量不能从函数外部访问,它的值会在多次函数执行中保持。
- 定义在函数内的变量在函数外消失。
superglobal的完整列表:$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV, $_REQUEST, $_SESSION。
PHP函数
require()和include()
加载其他文件到PHP脚本中,这些文件可以是PHP语句、文本、HTML标记、PHP函数或者是PHP类。