php变量和数据类型

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是弱类型语言,变量可以不声明直接使用

使用变量

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

可变变量

等量代换

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

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)

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)

强制转换(显示转换)

临时转换,永久转换


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


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

欢迎关注达达的简书!

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

你可能感兴趣的