PHP 中的数据类型转换
1. 自动转换(隐式转换)-- 程序会根据上下文环境自动的进行转换
其他类型转换成数值型
- true-->1
- false-->0
- null-->0
4. 字符串如果以非法字符开始, 直接转换成 0, 如果字符串以合法数值开始, 一直取到第一个非法数值为止
其他类型转换成字符串型
1. 数值型直接转换成数值本身
2.true-->1
3.false-->空字符串
4.null-->空字符串
5. 对象不能直接转换成字符串
6. 数组 -->Array
其他类型转换成布尔类型, 转换成 false 的有:
- 0-->false
- 0.0-->false
- null-->false
4. 空数组 array()-->false
5. 空字符串,'0',"0"-->alse
PHP 中的注释
单行注释 / 或者 #
多行注释 /**/
可变变量的例子
- ```$i = 'j';
- $j = 'k';
- $k = 'hello wolrd';
- 打印变量的详细信息
- var_dump(params);
- 浮点数是有误差的不要比较两个浮点数的大小
- 告诉浏览器以什么编码方式解析什么类型的文档, 防止中文乱码
- `header('content-type:text/html;charset=utf-8');`
- 单引号和双引号的区别
- 单引号不解析变量; 单引号只解析 \ 和 \\
- 双引号解析变量; 双引号解析所有的转义字符
- {$var}和 ${var}都可以用来替换变量, 建议用第一个
- heredoc 和 nowdoc
- heredoc 相当于双引号的作用, 语法如下
$heredoc = <<<EOF(名字可随意选取, 但要配对, 并且结尾不能有空格等多余的内容, 可以用双引号包裹, 不能用单引号哦)
需要填充的内容
EOF;
```
- nowdoc 相当于单引号的作用, 语法如下
- ```
- $nowdoc = <<<'EOD'(必须用单引号包裹)
需要填充的内容
EOD;
```
产生空的情况 null
1. 变量为声明直接使用
2. 声明一个变量赋值为 null
3. 经过 unset()注销过的变量, 可以一次销毁一个或多个变量
设置错误级别 E_ALL 但是除了 NOTICE
error_reporting(E_ALL&~E_NOTICE);
mixed 一个参数可以接受多种不同的 (但不一定是所有的) 类型
数据类型转换
自动转换(隐式转换)
其他类型转换成数值, bool, 字符串, true 转换成 1,false 转换成空字符串
$var = '0.0';$var = new StdClass(); 转换为 true
$var = array(); 空数组转化为假的
强制转换(显示转换)
2. 强制转换(显示转换)
- // 浮点转整型
- $var1 = 3.8;
- var_dump((int)$var1, (integer)$var1);//3, 并非四舍五入
- // 转换为空
- $var1 = true;
- var_dump((unset)$var1);// null
- $var = true;
- var_dump(strval($var));
- $var1 = '123';
- var_dump($var1); //string
- settype($var1, 'int');
- var_dump($var1); // int
- $var2 = 123;
- var_dump(is_int($var2)); //true
- $var3 = '123';
- var_dump(is_numeric($var3)); //true
- $var4 = '123a';
- var_dump(is_numeric($var4)); //false
- define("PI", 3.14);
- $r = 1;
- $area = constant("PI")*$r*$r;
- echo $area;
来源: http://www.qdfuns.com/article/31986/7f89d3fd2b884f831eebd0e7ff68b6e0.html