【day02】PHP
一.数据类型(8个主要数据类型和4个伪类型)
1.8个主要数据类型
(1)标量类型(存储单一值)
a.整型(Integer Int)
b.浮点型(Float Double)
c.布尔类型(Boolean Bool)
d.字符类型(String)
(2)复合类型(存储多个值)
a.数组(Array)
b.对象(Object)
(3)特殊类型
a.资源类型(Resource)
b.NULL
2.字符类型(String)
(1)定界符
a.单引号('')
b.双引号("")
c.HereDoc(自定义定界符)
d.NowDoc(自定义定界符)
(2)单引号和双引号区别
(3)转义字符(在源代码中的特殊符号)
\'单引号
\"双引号
\n换行
\r回车
\t水平制表符
\v垂直制表符
\\反斜杠
(4)单引号和双引号在HTML实体和转义字符的使用
(5)HereDoc(自定义定界符)
$变量名称=<<<定界符名称
...
定界符名称;
(6)NowDoc(自定义定界符)
$变量名称=<<<'定界符名称'
...
定界符名称;
说明:
a.当有大段的文本时使用HereDoc,
NowDoc(PHP5.3以上支持)
b.结束定界符必须在行首
c.HereDoc能解析变量和转义字符
NowDoc不能解析变量和转义字符
(7)字符中{}的使用
a.{}将变量名称作为整体
原理:当用双引号输出变量,PHP引擎能解析
双引号变量,PHP引擎尽可能多的将合法
字符串作为变量名称,如果告诉PHP引擎
到此为止,那就需要用{}将变量名称作为
整体
b.{}对字符串中的某一个字符实现增删改查
说明:
(a)编号从零开始,{} 还可以用[]替代
(b)当编号大于字符长度,用一个空格填补
(8)数组(Array)
(9)对象(Object)
(10)资源类型(Resource):操作磁盘或网络中的文件
资源类型不能声明,用函数实现
例如:文件函数,文件夹函数,
数据库函数,GD库函数等。
(11)NULL
说明:
产生NULL的方法
a.声明变量并且赋NULL或null
b.声明变量但未赋值
c.unset()删除变量中的值
二.数据类型转换
PHP是弱类型语言,会根据程序运行环境自动转换
1.自动转换(隐式转换)
(1)其它类型转为整型和浮点型
a.合法的数字字符串,除了 . e E外并且
没超过整型的最大范围转为整型,否则
转为浮点型
b.非合法的数字字符串,如果以数值开头转该
数值,如果以字母开头转为0
c.布尔类型,true 转为1,false 转为0
d.null 转为 0
e.空字符串 转为 0
(2)其它类型转为字符型
a.整型和浮点型转为数值本身
b.布尔类型转为字符型 true 转为'1', false转为空字符串
c.null转为字符型 空字符串
d.数组转为字符型 Array字符串
e.资源转为字符型 Resource id #数字 字符串
(3)其它类型转为布尔型
下面情况都转换为false:
a.布尔型 false
b.null 转为布尔型false
c.空字符串 转为布尔型false
d.整数0,浮点数0.0,字符串'0' "0"
转为布尔型false
e.没有成员的空数组 array() 转为布尔型false
其他情况都为true.
2.强制转换(显式转换)
(1) 临时转换(变量本身没变化)
a.()
整型 (integer)$var|(int)$var
浮点型 (float)$var|(double)$var|(real)$var
布尔型 (boolean)$var|(bool)$var
字符型(string)$var
数组 (array)$var
对象(object)$var
NULL (unset)$var
b.类型转换函数
整型intval()
浮点型 floatval()|doubleval()
布尔型 boolval() -- PHP5.5以上
字符型 strval()
(2) 永久转换(变量本身变化了)
a. settype: 设置变量的类型
bool settype ( mixed &$var , string $type )
成功返回true 失败返回false
$type可能的值:
"boolean" (或为"bool",从 PHP 4.2.0 起)
"integer" (或为"int",从 PHP 4.2.0 起)
"float" (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的"double"现已停用)
"string"
"array"
"object"
"null" (从 PHP 4.2.0 起)
b. gettype: 获取变量的类型
string gettype ( mixed $var )
三.函数:
1.什么函数:封装的,重复使用的完成特定功能的代码.
2.分类
(1)系统函数
(2)自定义函数
3系统函数的使用格式
返回值 函数名称([数据类型 参数
[,数据类型 参数[,...]]])
说明:
a.[] 代表参数可以省略
b.参数:程序员跟函数沟通的媒介
c.参数至少0个(0个,1个,多个)
d.返回值:函数的程序结果
e.返回值只有 0个或1个
4.系统函数调用
函数名称([参数[,参数[,...]]]);
四.4个伪类型
1.mixed 混合类型:一个参数可以接受多种不同的
(但不一定是所有的)类型
2.number 数值类型:包含整型和浮点型
例如: pow:求n次幂
number pow ( number $base , number $exp )
3.void 空类型:当void 在返回值上代表没返回值
当void 在参数上代表没参数
例如: void echo ( string $arg1 [, string $... ] )
4.callback 回调类型:一个函数名称在另一个函数中作为参数使用
======================================
PHP报错
(1)Parse error 语法错误
(2)Notice 通知
(3)Warning 警告
(4)Fatal 致命
php.ini 配置文件中:
(1)display_errors = Off
(2)error_reporting = E_ALL (显示所有错误 推荐)
例如: error_reporting = E_ALL&~E_NOTICE
显示所有错误除了通知错误

【day02】PHP的更多相关文章
- 【1天】黑马程序员27天视频学习笔记【Day02】
02.01常量的概述和使用 * A:什么是常量 * 在程序执行的过程中其值不可以发生改变 * B:Java中常量的分类 * 字面值常量 * 自定义常量(面向对象部分讲) * C:字面 ...
- Python基础【day02】:数据运算(二)
本节内容 数据运算 表达式while 循环 一.数据运算 算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算: 身份运算: 位运算: #!/usr/bin/python a = 60 # 60 ...
- Python基础【day02】:元组和购物车练习的知识点
一.元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数据库连接信息等 1.元 ...
- Python基础【day02】:字符串(四)
在Python中字符串本身有带很多操作,字符串的特性,不可以被修改 0.字符串常用功能汇总 1.字符串的定义 #定义空字符串>>> name=''#定义非空字符串 >>& ...
- Python基础【day02】:列表(三)
本节内容 0.列表常用功能汇总1.定义列表2.访问列表中的元素3.切片4.追加5.插入6.修改7.拷贝8.删除9.扩展10.统计11.翻转12.排序13.获取下标值14.清空列表 列表是Python最 ...
- Python基础【day02】:字符编码(一)
本节内容 1.字符编码与转码 1.关于中文2.注释3.转码 2.表达式for 循环 3.数据类型之数字 1.数字2.布尔值3.字符串4.列表5.元祖6.字典 一.字符编码与转码 python解释器在加 ...
- 【day02】Xhtml
一.HTML实体(HTML Entites) 1.HTML实体:W3C规定在浏览器看到的特殊符号必须用HTML实体 单引号(') ===== ' 双引号(") ===== " ...
- Python学习【day02】- Python基础练习题
#!/usr/bin/env python # -*- coding:utf8 -*- # 执行Python 脚本的两种方式 # 答:①在windows的cmd窗口下 > D:/Python/p ...
- Python学习【day02】- 运算符与基本类型
Python语言支持以下类型的运算符: 算术运算符 操作符 描述 示例(a=10.b=21) + 加法 相加运算两侧的值 a + b = 31 - 减法 操作符右侧数减去左侧操作数 a – b = - ...
随机推荐
- Identity Server4资料
https://www.cnblogs.com/cgzl/p/9405796.html https://www.cnblogs.com/cgzl/p/7780559.html https://clou ...
- 解决centos ssh连接很慢的问题
更改配置文件vi /etc/ssh/sshd_config找到UseDNS 将UseDNS前面的#删除,并将YES改为NO,若找不到UseDNS,则手动添加UseDNS,并将其设置成No保存并重启ss ...
- 【Oracle】RMAN duplicate复制库
基础环境: 172.17.4.60 操作系统:Linux 6.4 数据库:Oracle11gR2 (源数据库) 172.17.4.61 操作系统:Linux 6.4 数据库:Oracle11gR2 ( ...
- perf性能调优
工具准备 ubuntu:sudo apt-get install perf 嵌入式平台:下载源码编译 注意:编译过程中会有Auto-detectiing system feature的依赖库打印,注意 ...
- 将多个sass文件合并到一个文件中
将多个sass文件合并到一个文件中 应用场景:制作angular npm包的时候,定义的一些全局样式,自定义主题色这类的情况下,多个scss文件会要合并成一个文件并写到dist文件里,发布到仓库中. ...
- 电信NBIOT 4 - NB73模块上行测试(NB73-电信平台-自己平台)
电信NBIOT 1 - 数据上行(中国电信开发者平台对接流程) 电信NBIOT 2 - 数据上行(中间件获取电信消息通知) 电信NBIOT 3 - 数据下行 电信NBIOT 4 - NB73模块上行测 ...
- Can't toast on a thread that has not called Looper.prepare()
Android开发中Can't toast on a thread that has not called Looper.prepare()问题 说一下问题出现场景: 在一个Android项目中,利用 ...
- 白话SCRUM之五:四种会议
在SCRUM方法中定义了4种会议活动: Sprint planning Daily meeting Sprint review Sprint retrospective 除去开发活动外这4种会议构成了 ...
- CentOS用yum安装MySQL 8.0 .
先说一句,fuck,搞了一下午. 步骤:一:安装yum源: 1.wget https://dev.mysql.com/get/mysql80-community-release-el6-3.noarc ...
- JDBC学习笔记一
JDBC学习笔记一 JDBC全称 Java Database Connectivity,即数据库连接,它是一种可以执行SQL语句的Java API. ODBC全称 Open Database Conn ...