《PHP&MYSQL WEB开发》读书笔记
第一章:PHP快速入门,主要记录一些操作符和不常见变量用法
1、PHP注释的三种方法
- //注释内容
- /*注释内容*/
- #注释内容,这是shell的注释方法
2、三种获取表单变量的方法
- $name,特点是最简单,缺点是需要开启register_globals配置选项,该选项会引发安全问题
- $_POST[‘name’],最常用的方法
- $HTTP_POST_VARS[‘name’],已经被弃用了
3、显示字符串的三种方法
- 单引号,‘xxx$nameyyy”zzz”’,特点是将里面的文本都当成纯文本,不会计算其内容。
- 双引号,“xx$nameyy\”\”zzz”,特点是会将里面的变量替换成其内容,如果有双引号,需要转义
- Heredoc语法(<<<),和双引号一样,使用方法是
- echo <<<EEE
- 内容,可以是任何不包括EEE字符串的内容,里面的变量会被解释
- EEE
4、PHP的数据类型
- Integer整形
- Float或者Double,浮点型
- String字符串
- Boolean,布尔类型
- Array数组类型
- Object对象类型
- NULL空类型
- resource资源类型,比如数据库连接、打开的文件
5、PHP的类型转换
PHP的类型转换方法,和C语言的是相同的,因此只要把相同的语句写过来即可
$discount = (float)$discount; //这完全是可以的
有以下多种类型转换:
(int) (double) (string) (array) (object)
注意,这里是强制类型转换,如果要只声明一个变量,不需要加括号,比如
//这个函数声明,把参数声明为数组类型,如果加了括号,就变成了强制类型转换,这里不需要加括号
function printArr( array $arr);
例如代码:
//函数,用于打印数组,注意,形参类型不用加括号 function printArr( array $arr){ echo "<pre>"; print_r($arr); echo "</pre>"; echo "<br>"; }
6、PHP之可变变量
可变变量允许我们动态的改变一个变量的名称
$varname = “username”;
$$varname = “crazyant”; //这相当于$username=”crazyant”
7、声明和使用常量
define(‘USER_COUNT”,100”); //声明常量的方法
$total = USER_COUNT * $count; //使用常量的方法,就是不用加$符号
PHP预定义了很多的常量,它们都可以使用phpinfo()函数进行查看
8、PHP变量的作用域
这块感觉不是很清楚,因此都记录一下
- 内置超级全局变量,可以再脚本任何地方可用
- 常量被定义以后,全局可见
- 脚本中的变量,全局可见,但函数中不可见
- 函数内部使用全局变量,需要声明一下(global),声明的名字要一样
- 函数内部的静态变量,外部不可见,但函数多次运行可以保存它的值
- 函数内部的变量时局部变量,函数结束则消失
9、超级全局变量的完整列表
- $GLOBALS
- $_SERVER 这是服务器环境变量数组
- $_GET
- $_POST
- $_COOKIE 这是cookie变量数组
- $_FILES
- $_ENV
- $_REQUEST
- $_SESSION
10、引用操作符
&是引用操作符,和C++的引用操作符用法一模一样
$a=5;
$b=&$a;
$a=7; //这时候$a和$b的值都是7了
可以通过重置来改变它们所指向的地址
unset($a); //这样的话$a就没有了,相当于销毁了指针,可是$b还有,值还是7
11、PHP错误抑制操作符
将@符号,放在任何表达式前面,如果表单时出现了错误或警告,都不会显示出来,比如@$a/0; 该语句就不会显示错误。
12、PHP执行服务器命令操作符
$out = `ls -la`;
echo “<pre>”.$out.”</pre>”;
这两条语句,会在linux上执行语句,windows下可以改成dir c:
13、PHP关于数组的操作符
array a,b,c;
c = a+b;//得到包括a和b所有元素的新数组
注意,这里的相加,如果a和b都是键值对,那么没有问题,相当于合并,可如果只有值的话,前面数组的0元素会被后面的0元素覆盖,以此类推,因此要合并数组,还是用array array_merge ( array $array1
[, array $...
] )为好
测试如下:
<?php //函数,用于打印数组,注意,形参类型不用加括号 function printArr( array $arr){ echo "<pre>"; print_r($arr); echo "</pre>"; } $arra = array('aa','ab'); echo "<b>数组A;</b><br>"; printArr($arra); $arrb = array('ba','bb'); echo "<b>数组B;</b><br>"; printArr($arrb); $arrc = $arra+$arrb; echo "<b>A+B:</b><br>"; printArr($arrc); $arrc = array_merge($arra,$arrb); echo "<b>array_merge数组A和B;</b><br>"; printArr($arrc); ?>
运行截图:
a==b;//是否具有相同的键值对
a===b;//是否具有相同的键值对和顺序
14、PHP类型操作符
if($obj instanceof STUDENT){}
判断一个对象,是不是某个类的一个实例
15、PHP格式化小数位数的方法
使用函数number_format进行
比如number_format($price, 2),就是将$price变量的小数剩下2位
16、测试设置变量的类型
//获取或设置参数的类型,返回的就是bool、int、double、string、array、object、resource这些关键词
string gettype(mixed var);
bool settype(mixed var, string type); //设置变量的类型
17、PHP测试变量类型的函数
PHP提供一些测试函数,用变量作为参数,返回true或者false,用来测试变量的类型:
- is_array()
- is_double,is_float(),is_real()
- is_long(),is_int(),is_integer()
- is_string()
- is_bool()
- is_object()
- is_resource()
- is_null()
- is_scalar(),检查是否是标量(整数、bool值、字符串、浮点数)
- is_numeric(),检查是否是任何类型的数字或者数字字符串
- is_callable(),检查变量是否是有效的函数名称
18、PHP测试变量的状态
- bool isset(mixed var);//测试变量是否存在,存在返回true
- void unset(mixed var);//销毁一个变量
- bool empty(mixed var);//测试变量是否存在,以及值是否为非空或者非0
19、PHP变量的重解释(应该和强制类型转换类似)
- int intval( mixed var [, int base]);//其中base可以指定进制数
- float floatval(mixed var);
- string strval(mixed var);
20、elseif=else if
至此第一章内容结束,学习的新内容,主要是操作符,比如@、``、&、变量类型、测试变量类型等