文章更新于2020-03-17

一、基础知识

知识点 描述 备注
标记:XML风格 <?php echo "hello"; ?> 推荐
标记:脚本风格 <script language="php"> echo "hello"; </script>
标记:简短风格 <? echo "hello"; ?> 需要配置php.ini
标记:ASP风格 <% echo "hello"; %> 需要配置php.ini
注释 //.../* ... */#... 单行注释不能出现?>,否则会认为脚本结束而出错
8种数据类型 boolean布尔型、string字符串型、integer整型、float浮点型 4种标量类型
8种数据类型 array数组、object对象 2种复合类型
8种数据类型 resource资源、null空值 2种特殊类型
8种数据类型之 boolean:有truefalse两个值 空值等也为false
8种数据类型之 string'单引号、"双引号、<<<界定符 三种表示方法 单引号不进行变量替换
8种数据类型之 integer:整型只能包含整数
8种数据类型之 float:可用来存储整数小数
可使用标准格式科学计数法格式
4.0之前版本标识为 double,二者没有区别
8种数据类型之 array数组:一组类型相同的变量
8种数据类型之 object:对象对象是类的实例,使用 new 命令来创建。

二、知识点细节说明

(1)boolean 布尔型

1、boolean 有两个值 truefalse

2、00.0“0”空字符串只声明但没赋值的数组等也为 false

(2)string 字符串型

1、使用单引号只需对字符串中的单引号'进行替换,而双引号或界定符则还需要考虑变量。所以优先使用单引号。

2、换行\n、回车\r、水平制表符\t、反斜杠\\、美元符号\$、单引号\'、双引号\"、8进制符号字符\[0-7]{1,3}、16进制符号字符\x[0-9a-fA-f]{1,2} ,需要进行转义,后两个用于正则匹配。

3、界定符的使用

$string  = <<< str
这里面写要输出的字符
然后以界定符结束
结束界定符前不能有空格或其他字符
在这里面的变量会被替换成其值
str

(3)integer 整型

1、整型只能包含整数。

2、如果八进制中出现了 8 或 9 等非法字符,则后面的数字会被忽略掉。比如:02643898 等价于 02643

3、如果数值超过了int能表示的最大值,则会被当为 float处理,这种情况成为 整数溢出

(4)float 浮点型

1、有标准格式和科学计算法两种格式。

2、浮点型的数值是近似值,应尽量避免其比较大小。

(5)array 数组

1、数组包含多个值

# $arr1 = ('value1','value2');
$arr1 = ('hello','world');

2、数组可通过下标进行赋值

# key 是下标
# $arr2[key] = 'value';
$arr2[0] = 'hey';

3、数组可指定键名

# $arrayname = array(key1=>value1, key2=>value2);
$arr3 = array(0=>'php',1=>'is','ok'=>'good');

(6)object 对象

1、php 可任意使用面向对象和面向过程两种方法。

(7)resource 资源

1、资源使用过后系统会自动进行垃圾回收,避免内存消耗。

(8)null

1、null 不区分大小写。

2、没有赋值,被赋值 null,被unset()处理的值为 null

3、unset() 就是从内存中删除变量。

(9)数据类型转换

转换操作符 转换类型 举例
(boolean) 转换成布尔型 (boolean)$num(boolean)$str
(string) 转换成字符串型 (string)$boo(string)$flo
(integer) 转换为整型 (integer)$boo(integer)$str
(float) 转换为浮点型 (float)$str
(array) 转换为数组 (float)$str
(object) 转换为对象 (object)$str

1、转换成boolean时,等价于null的会被转换为false

2、转换为integer时,flase转换为0true转换为1float浮点型的小数被舍去,字符型如果以数字开头就截取到非数字位,否则输出0

3、类型转换还可以通过settype()函数来完成。

# bool settype(mixed var, string type)
$number = '3.14159';
echo settype($number, 'integer');
# 输出结果 1
# 因为 settype() 函数的返回值为布尔型

三、待续

最新文章

  1. three.js初涉略(一)
  2. Javascript 布尔操作符总结
  3. [C++] memset 和sizeof 的使用注意
  4. unity3d 赛车游戏——复位点检测优化、反向检测、圈数检测、赛道长度计算
  5. 【HTML5】SVG内联
  6. DSP5509的时钟发生器(翻译总结自TI官方文档)
  7. 全注解的SSH框架
  8. java读取某个文件夹下的所有文件
  9. 【AR】增强现实安卓编程 - Vuforia SDK 的安装和使用 (Android Studio)
  10. 让UILabel具有链接功能,点击后调用safari打开网址
  11. 【转】install intel wireless 3165 driver for ubuntu 14.04.3
  12. gzip 与 gunzip 语法与示例
  13. P1238 走迷宫
  14. idea设置java内存
  15. 根据文件大小自动判断单位B,KB,MB,GB
  16. CTS 如何处理 gating clock 和 generated clock
  17. C++ 一个整数的二进制表示中1的个数
  18. codeforces1045B
  19. 在AE二次开发中出“正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”异常解决方案
  20. 【BZOJ】3456: 城市规划 动态规划+多项式求逆

热门文章

  1. C++ 随笔练习
  2. 使用GUI工具Portainer.io管控Docker容器
  3. Gorm 预加载及输出处理(二)- 查询输出处理
  4. ILspy不能查看VS代码问题
  5. Java多线程并发06——CAS与AQS
  6. Axure rp8 注册码,亲测可以用! 可用给个赞呗!!
  7. 一个简单的方法去掉angular application中URLs的hashtag
  8. 内置函数---filter和map
  9. C语言学生管理系统
  10. [模板] LCA-最近公共祖先-倍增法