文章更新于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() 函数的返回值为布尔型

三、待续

PHP 学习笔记摘要的更多相关文章

  1. PostgreSQL学习笔记——摘要

    因为PostgreSQL和MySQL.DB2等数据库均遵循SQL语法,所以这篇随笔仅记录一些PostgreSQL中和别的数据库有差别或之前学习中遗漏的地方,以及一些我觉得比较重点的地方. 通过psql ...

  2. python + selenium 学习笔记 -摘要

    一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...

  3. Python学习笔记摘要(一)类型 字符串 函数 列表 深浅拷贝

    python中的对象和类型 在python中,认为系统中的每一个"东西"都是一个对象,在python中,"对象"有着特殊的意义,python中的对象有: 一个标 ...

  4. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要系列文章索引

    从发表第一篇文章到最后一篇文章,时间间隔有整整一个月,虽只有5篇文章,但每一篇文章都是我吸收<LEARNING HARD C#学习笔记>这本书的内容要点及网上各位大牛们的经验,没有半点废话 ...

  5. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三

    最近工作较忙,手上有几个项目等着我独立开发设计,所以平时工作日的时候没有太多时间,下班累了就不想动,也就周末有点时间,今天我花了一个下午的时间来继续总结与整理书中要点,在整理的过程中,发现了书中的一些 ...

  6. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  7. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要一

    本人有幸在Learning Hard举行的整点抢书活动<Learninghard C#学习笔记>回馈网友,免费送书5本中免费获得了一本<LEARNING HARD C#学习笔记> ...

  8. 《软件调试的艺术》学习笔记——GDB使用技巧摘要

    <软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...

  9. OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

随机推荐

  1. Vue2.0 【第二季】第5节 Template制作模板

    目录 Vue2.0 [第二季]第5节 Template制作模板 第5节 Template制作模板 一.直接写在选项里的模板 二.写在template标签里的模板 三.写在script标签里的模板 Vu ...

  2. javascript中怎么判断两个数据类型相等

    在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "obj ...

  3. Gorm 预加载及输出处理(二)- 查询输出处理

    上一篇<Gorm 预加载及输出处理(一)- 预加载应用>中留下的三个问题: 如何自定义输出结构,只输出指定字段? 如何自定义字段名,并去掉空值字段? 如何自定义时间格式? 这一篇先解决前两 ...

  4. computed 里面 不能写箭头函数 都要写 function () {} 否则页面会都不显示

    computed 里面 不能写箭头函数 都要写 function () {} 否则页面会都不显示

  5. Python第一周作业

    import turtle turtle.color('black','red') turtle.pensize(10) turtle.begin_fill() for i in range(5): ...

  6. 关于Quartz .NET(V3.0.7)的简要说明

    目录 0. 任务调度 1. Quartz .NET 1.1 基本概念 1.2 主要接口和对象 2. 使用示例 2.0 准备工作 2.1 每间隔一定时间间隔执行一次任务 2.3 某天的固定时间点执行任务 ...

  7. VScode配置CMD本地运行环境(2.0)

    VScode配置CMD本地运行环境(2.0) 官方Task.json说明 完整的Task.json配置信息 Task.json预定义变量 看了很多网上的教程都说需要下载VScode的python插件, ...

  8. hdu3367最大伪森林(并查集)

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3367/ 题目要求一个连通图的最大伪森林,伪森林是一个最多有一个回路的图.我们只要用Kruskal最大生成树的策略 ...

  9. 最大比率传输(Maximum Ratio Transmission, MRT)原理分析

    转载请注明出处. 最大比率发射(Maximum Ratio Transmission, MRT)是文献中经常看见的一个词,今天就在这里做一下笔记. 参考文献为:T. K. Y. Lo, "M ...

  10. java-TreeMap

    2019-12-17 10:34:55 //返回小于key的第一个键: K lowerKey(K key); //返回大于key的第一个键: K higherKey(K key); //返回小于等于k ...