PHP 学习笔记摘要
文章更新于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:有true、false两个值 |
空值等也为false |
| 8种数据类型之 | string:'单引号、"双引号、<<<界定符 三种表示方法 |
单引号不进行变量替换 |
| 8种数据类型之 | integer:整型只能包含整数 |
|
| 8种数据类型之 | float:可用来存储整数或小数。可使用 标准格式和科学计数法格式。 |
4.0之前版本标识为 double,二者没有区别 |
| 8种数据类型之 | array数组:一组类型相同的变量 |
|
| 8种数据类型之 | object:对象对象是类的实例,使用 new 命令来创建。 |
二、知识点细节说明
(1)boolean 布尔型
1、boolean 有两个值 true 、 false。
2、0、0.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转换为0,true转换为1,float浮点型的小数被舍去,字符型如果以数字开头就截取到非数字位,否则输出0。
3、类型转换还可以通过settype()函数来完成。
# bool settype(mixed var, string type)
$number = '3.14159';
echo settype($number, 'integer');
# 输出结果 1
# 因为 settype() 函数的返回值为布尔型
三、待续
PHP 学习笔记摘要的更多相关文章
- PostgreSQL学习笔记——摘要
因为PostgreSQL和MySQL.DB2等数据库均遵循SQL语法,所以这篇随笔仅记录一些PostgreSQL中和别的数据库有差别或之前学习中遗漏的地方,以及一些我觉得比较重点的地方. 通过psql ...
- python + selenium 学习笔记 -摘要
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...
- Python学习笔记摘要(一)类型 字符串 函数 列表 深浅拷贝
python中的对象和类型 在python中,认为系统中的每一个"东西"都是一个对象,在python中,"对象"有着特殊的意义,python中的对象有: 一个标 ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要系列文章索引
从发表第一篇文章到最后一篇文章,时间间隔有整整一个月,虽只有5篇文章,但每一篇文章都是我吸收<LEARNING HARD C#学习笔记>这本书的内容要点及网上各位大牛们的经验,没有半点废话 ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三
最近工作较忙,手上有几个项目等着我独立开发设计,所以平时工作日的时候没有太多时间,下班累了就不想动,也就周末有点时间,今天我花了一个下午的时间来继续总结与整理书中要点,在整理的过程中,发现了书中的一些 ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二
今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要一
本人有幸在Learning Hard举行的整点抢书活动<Learninghard C#学习笔记>回馈网友,免费送书5本中免费获得了一本<LEARNING HARD C#学习笔记> ...
- 《软件调试的艺术》学习笔记——GDB使用技巧摘要
<软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...
- OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置
摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...
随机推荐
- js Vquery
// JavaScript Document function myAddEvent(obj,sEv,fn){ alert('fn:'+fn); if(obj.attachEvent){ obj.at ...
- python从数据库取数据后写入excel 使用pandas.ExcelWriter设置单元格格式
用python从数据库中取到数据后,写入excel中做成自动报表,ExcelWrite默认的格式一般来说都比较丑,但workbook提供可以设置自定义格式,简单记录个demo,供初次使用者参考. 一. ...
- 6.前台项目vue环境、创建、目录重构、CSS、JS配置
目录 前台 vue环境 创建项目 重构项目目录 文件修订:目录中非配置文件的多余文件可以移除 App.vue router/index.js Home.vue 全局配置:全局样式.配置文件 globa ...
- Uiautomator1.0与Uiautomator2.0测试项目搭建与运行原理
Uiautomator是Android原生测试框架,可以用于白盒接口测试也可以用于UI自动化测试,Uiautomator分1.0版本与2.0版本,它们都是基于UiAutomation的测试框架,都是通 ...
- 【Weiss】【第03章】练习3.12:单链表倒置
[练习3.12] a.编写一个非递归过程以O(N)时间反转单链表. b.使用常数附加空间编写一个过程以O(N)时间反转单链表. Answer: 这题的b貌似没啥意义,在a小题里直接用头插法,不断地将头 ...
- HTTP 与 HTTPS 的区别以及 HTTPS 建立连接的过程
HTTP 与 HTTPS 区别 HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好. 使用 HTTPS 协议需要到 CA(Certifi ...
- SpringBoot的启动流程是怎样的?SpringBoot源码(七)
注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 温故而知新 本篇接 SpringBoot内置的各种Starter是怎样构建的? SpringBoot源码(六) 温故而知新, ...
- golang socket编程 net.Conn IO.EOF解读
结论 首先,先定义下我的理解,当在Read时,收到一个IO.EOF,代表的就是对端已经关闭了发送的通道,通常来说是发起了FIN. 那么根据自己的实际业务,就可以进行判断,这里的IO.EOF到底该怎么利 ...
- jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(三)
从最基础镜像到业务容器 构建 [为gitlab项目部署做铺垫] 业务镜像设计规划 目录结构 # pwd /data/k8s/app/myapp # tree . . ├── dockerfile │ ...
- VS中执行汇编代码
unsigned char shellcode[] = "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50" &qu ...