php变量和数据类型

空扰寡人 提交于 2019-12-04 17:23:23

php中的变量

PHP中的变量声明

PHP中的变量的使用

PHP中的数据类型之整型

PHP数据类型之浮点类型和布尔类型

PHP数据类型之字符串类型

PHP数据类型之heredoc和nowdoc的使用

PHP数据类型之复合类型和特殊类型n

PHP中的数据类型转换之自动转换

PHP数据类型转换之强制转换中的临时转换

PHP数据类型转换之强制转换中的永久转换

什么是变量

在程序执行期间可以变化的量的就是变量,通过变量保存值

声明变量:

通过美元$变量名称来表示变量,可以声明变量在使用,也可以不声明,可以一次声明一个,也可以一次声明多个

变量名称以字母或者下划线开始,后面跟上数字、字母下划线,不能包含特殊字符

变量名称最好含义明确

变量命名最好遵循驼峰标记法或者是下划线法

驼峰标记法
小骆驼
firstName,lastName,zendControllerFront
大骆驼
FirstName,LastName,ZendControllerFront

下划线法
first_name,last_name,zend_controller_front

变量名称严格区分大小写,$a和$A这是两个变量

如果变量名称重复,后面的变量会覆盖之前变量的值

PHP是弱类型语言,变量可以不声明直接使用

使用变量
直接书写变量的名称即可
$变量名称

可变变量
等量代换

file

Parse error(解析错误): syntax error(语法错误), unexpected '<', expecting end of file
Notice(通知): Undefined variable(未定义的变量): sdkljflskdjflksdjflksdjfklj
Catchable fatal(致命) error: Object of class stdClass could not be converted to string
Warning(警告): settype(): Invalid(非法) type

file

php中的数据类型

8种主要数据类型
5种伪类型

5种伪类型
number
mixed
callback
void
...

标量类型
复合类型
特殊类型

复合类型
数组(Array)
对象(Object)

特殊类型
资源(Resource)
空(null|NULL)
变量未声明直接使用,它的值就是null
声明一个变量并且赋值为null
经过unset()注销过的变量值为null

整型(int|integer)
整数
分类
十进制
八进制
十六进制
范围
带符号,-21亿~21亿之间,不带符号0~42亿
超过整型存储范围,会产生溢出的现象

浮点型(float|double|real)
带小数点
科学计数法的写法,e或者E
注意
浮点数是有误差,不要比较两个浮点数的大小

布尔型(bool|boolean)
要么是真,要么是假
true|TRUE:真
false|FALSE:假

标量类型
特点
只能存储单一数据

字符串型(string)

定界符
转义符
花括号{}

转义符

    \n
        换行
    \r
        回车
    \t
        水平制表符
    \\
        \
    \$
        $
    \'
        '
    \"
        "
    源代码中有效果,页面上只显示一个空格

单引号
双引号

heredoc

    <<<名称
代码段;
名称;
    <<<"名称"
代码段;
名称;
    注意
        在结束名称之前不能有任何输出
        heredoc相当于双引号

nowdoc

    <<<'名称'
    代码段;
名称;
    注意
        nowdoc相当于单引号的作用

单引号和双引号的区别
单引号不解析变量,双引号解析变量
单引号只解析'和\,而双引号解析所有的转义符

可以将PHP中的变量括成一个整体来解析

    {$变量名称}
    ${变量名称}

可以对字符串中的指定字符做增删改查的操作
字符串的下标从0开始
根据下标找到对应的字符做操作

echo
输出一个或者多个字符串

var_dump
打印变量的详细信息,可以一次打印一个或者多个变量的详细信息
var_dump($var,....)

print_r()
打印数组的信息
print_r($var)

file

file

file

file

file

file

file

file

file

php中的数据类型转换之自动转换

自动转换(隐式转换)
强制转换(显示转换)

程序会根据上下文环境自动的进行转换

其它类型转换成数值型
true->1
false->0
null->0
字符串如果以非法数值开始,直接转换成0;
如果字符串以合法数值开始,一直取到第一个非法数值结束

其它类型转换成字符串型
数值型直接转换成数值本身
true->1
false->空字符串
null->空字符串
数组->Array
资源->Resource id #数字
对象不能直接转换成字符串

其它类型转换成布尔类型假的有
0->false
0.0->false
空字符串''或者""或者'0'或者"0"->false
null->false
空数组array()->false

(变量类型)$变量名称
整型
(int)$变量名称|(integer)$变量名称
浮点型
(float|double|real)$变量名称
字符型
(string)$变量名称
布尔型
(bool|boolean)$变量名称

(unset)$变量名称
数组
(array)$变量名称
对象
(object)$变量名称

通过系统函数实现
intval($var)
返回变量转换成整型之后的值
floatval($var)|doubleval($var)
返回变量转换成浮点型的值
strval($var)
返回变量转换成字符串的值
boolval($var)
返回变量转换成布尔类型的值

注意
临时转换不改变变量本身的类型

永久转换
settype($var,$type)
设置变量的类型
gettype($var)
返回变量的类型
注意
不要使用gettype得到变量的类型,因为后续可能返回值会改变

通过变量函数库检测变量的类型

is_*($var)
    检测的结果要么true,要么false
    整型
        is_int()|is_integer()|is_long()
    浮点型
        is_float()|is_double()|is_real()
    字符串型
        is_string()
    布尔类型
        is_bool()
    标量类型
        is_scalar()
    空null
        is_null()
    数组
        is_array()
    对象
        is_object()
    资源
        is_resource()
    是否为数值型或者字符串形式的数值
        is_numeric()

自动转换(隐式转换)
强制转换(显示转换)

print_r()
打印数组的信息
print_r($var)

unset
销毁变量,可以一次销毁一个或者多个,销毁之后变量的值为null
unset($var,...)

header语句的作用
header('content-type:text/html;charset=utf-8');
告诉浏览器以什么编码方式解析什么类型的文档

ord($character)
返回指定字符的ASCII码值

chr($ascii)
根据ASCII码值返回指定的字符

strpos()
stripos()
strrpos()
date_default_timezone_set()
date_default_timezone_get()
time()
date()
exit($msg)/die($msg)

file

file

file

file

file

强制转换(显示转换)

临时转换,永久转换

file

file

file

file

file

file


意见反馈:
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


感谢阅读,原创不易,喜欢就点个赞吧,这是我写作最大的动力。

欢迎关注达达的简书!

这是一个有质量,有态度的博客

博客

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!