1. 如果文档中只有 PHP 结束标记要省略掉如:<?php... 代码原因是: 如果使用闭合标签, 任何由开发者, 用户, 或者 FTP 应用程序插入闭合标签后面的空格或空行都有可能会引起多余的输出 php 错误之后的输出无法显示空白页尤其在当使用 include() 或者 require()时省略掉会更好些, 这样不期望的白空格就不会出现在文件末尾, 之后仍然可以输出响应标头
2. 可变变量
- <?php
- $i = "j";
- $j = "k";
- $k = "hello world";
- echo $$$i;//hello wolrd
数据类型
1. 标量类型: 整型浮点类型 bool 字符串
var_dump()打印变量的详细信息, 可以一次打印一个或者多个变量的详细信息
浮点数是有误差的, 不要比较两个浮点数的大小
2. 如果 php 文档中包含汉字, 最好在文档头部写上下面这句话
- <?php
- // 如果有中文, 告诉浏览器以什么编码方式解析什么类型的文档
- header('content-type:text/html;charset=urf-8');
字符串
1. 字符串型可以用三种方法定义: 单引号形式双引号形式和 heredocnowdoc 结构形式
2. 当引号遇上美元符号怎么办?
当双引号中包含变量时, 变量会与双引号中的内容连接在一起, 所以双引号和解析变量;
当单引号中包含变量时, 变量会被当做字符串输出, 所以单引号不解析变量
单引号只解析 \'和 \$ 两个转义符
$str = '!\r@\n#\t%1\\b\'\$de';//!\r@\n#\t%1\b'\$de
双引号解析所有的转移符
$str1 = "!\r@\n#\t%1\\b\"\$de";//! @ # %1\b\"$de
3.PHP 引擎在解析变量的时候会尽可能多的向后取合法字符, 认为取的越多, 这个变量的含义越明确
echo "我的名字是 $username 哈哈"// 报错,$username 哈哈没有定义, 解决最简单的办法是添加空格, 但这样会使字符串连接不紧凑, 可以用花括号的方式解决
4. 花括号的作用
可以将 PHP 中的变量括成一个整体进行解析. 分为 {$ 变量名称} 和 ${变量名称}两种写法
echo "我的名字是 {$username} 哈哈"// 花括号中间不要有空格, 否则会被当成字符串进行解析
可以将字符串中的指定字符做增删改查的操作
- $string='king';
- $string = 'king';
- // 查找首字母
- echo $string{0}."<br/>";//k
- // 将 n 变成 q, 修改的时候只能一个字符替换一个字符
- $string{2} = 'q';
- echo $string."<br/>";//kiqg
- // 删除字符串中的 i
- $string{1}='';
- echo $string."<br/>";//kqg
- // 在末尾添加感叹号
- $string{4} = '!';
- echo $string."<br/>";//kqg!
- //PHP 中一个汉字等于三个字符, 不要对中文字符进行操作
- $string1 = '你好';
- echo var_dump($string1)."<br/>";// 长度为 6
5.heredoc 作用相当于双引号, 比较适合写大段字符串, 写法为:<<<名称.. 所需字符串.. 名称
- <?php
- $string1 = <<<GOD
我有一只小毛驴,
我从来也不骑
- GOD;//GOD 的名字是可以随便定义的, 但最好大写, 易于区分
- echo $string1;
- ?>
6.nowdoc 的写法:<<<'名称'..... 名称注意: 名称的开头必须用单引号包裹, 名称的结尾不用单引号包裹 == 和 heredoc 一样, 结束名称之前不能有任何的输出, 空格都不行 ==
7. 数组对象资源空数组可以存任何类型
数组:$arr=array()
对象:$stu = new Student();
8. 设置错误级别
- // 设置错误级别, E_ALL 但是出了 NOTI 类型的
- error_reporting(E_ALL&~E_NOTICE);
- $string = '1234';
- echo $string;//1234
- unset($string);// 销毁一个变量
- echo($string);//null
复合类型 -- 数组对象资源
特殊类型
1 资源(resource)
资源是由专门的函数来建立和使用的, 例如打开文件数据连接图形画布, 在不需要的时候应该被及时释放如果我们忘记了释放资源, 系统自动启用垃圾回收机制, 在页面执行完毕后回收资源, 以避免内存被消耗殆尽
2. 空类型
NULL(NULL):NULL 是空类型, 对大小写不敏感, NULL 类型只有一个取值, 表示一个变量没有值当被赋值为 NULL, 或者尚未被赋值, 或者被 unset(), 这三种情况下变量被认为为 NULL
3. 通过 unset()销毁变量
- $a=$b=$c='king';
- var_dump($a, $b, $c);// 可以传多个参数
- unset($a, $b, $c);// 可以传多个参数
来源: http://www.qdfuns.com/article/31986/ae052b7c9831c6b81827db3142a8b2ec.html