6 php中的“变量处理”函数 | 祭夜博客
  • 欢迎光临,这个博客颜色有点多

6 php中的“变量处理”函数

php msojocs 来源:#6 php中的“变量处理”函数 5年前 (2019-07-01) 2184次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

前言

大家好,昨天我们主要学习了字符串的相关知识,并通过函数了解了变量的作用域。
回顾一下具体内容,

  1. 字符串的连接,单双引号的区别
  2. 布尔变量是什么
  3. 函数与注释
  4. 变量的使用范围(作用域)与超级全局变量
  5. 可变变量和常量

在变量的最后一讲,我们将了解几个php中常见的,用于处理变量的php内置函数,它们由php本身提供,不需要我们来定义。

今天我们会使用vscode来编辑,它拥有强大的代码提示功能,
6 php中的“变量处理”函数
记得先开启Apache,然后用vscode(或者npp)打开你htdocs下目录的index.php文件,再继续学习。

当然, http://www.coolapk.com/apk/com.sololearn 也可以练习。

0.函数的返回值

由于今天会用到大量的php内置函数,因此我们要了解一下函数的另一部分,
返回值。

拥有返回值的函数不光会替我们完成任务, 还会在完成后返回给我们一个变量。
具体像这样,
6 php中的“变量处理”函数

这个函数使用之后,不光输出了
hello coolapk,而且还输出了一个00就是那个返回值。

在函数中,return 就是函数有返回值的标志,

return之后则是函数返回给我们的变量,

此处是一个0,当然也可以是别的。

此时在函数外部,hello()就不仅仅是一个函数了, 它可以作为一个变量使用。

有返回值的函数(以hello()为例)可以这样表示,
6 php中的“变量处理”函数

马上你将会见到类似的形式,到时候记得不要惊讶“这是什么?”。

接下来我们来学习一下,php中几种用于处理变量的内置函数。

1.测试变量类型

使用var_dump()gettype()函数,
6 php中的“变量处理”函数

gettype()函数通过传入一个变量或者值可以获得它的类型, 但需要使用echo输出。

var_dump()函数通过传入一个变量或者值,
直接输出它的类型,
如果这个变量或者值是字符串的话,
还会在括号中输出长度,
它同时也会输出变量的值。

因此我更推荐使用var_dump()函数。

(附)常用变量类型名称:

  • int 整数,
  • long (长)整数,范围更大,
  • float 浮点数,
  • double (双精度)浮点数,范围更大,
  • bool 布尔,
  • string 字符串,

以上两个函数可告诉我们变量是什么类型。
如果我们想知道某个变量是不是某个具体的类型,那么有更方便的函数,

bool is_int(),bool is_float(),bool is_string();
6 php中的“变量处理”函数
这三个函数返回给我们的结果,
是一个bool变量,
值是true或者false,表示他们是不是某个类型(intfloat或者string)的变量。

此外,还有一个特殊的
bool is_numeric($a)
($a是一个字符串变量)函数,

它用于判断$a这个字符串是否是纯数字。
比如'123456',这就是一个纯数字字符串。

2.设置变量类型

尽管我们在之前提到过,php足够聪明,
能帮你自动设置变量类型,
但有时候我们想把’3′(字符串)变成3(整数),
或者把3(整数)变为3(浮点数),
php也允许我们这样做,甚至它还提供了三种方式,

一) 使用settype()函数,形式如下,

6 php中的“变量处理”函数
settype()直接改变了变量类型。

二) 使用int intval()函数,

还有string strval()float floatval()
这两个自己试试。

使用形式如下,
6 php中的“变量处理”函数
int/float/strval()并不直接改变$a变量类型,而是生成了一个新类型的变量,因此需要对$a重新赋值。

三) 使用类似c语言的强制类型转换,

(int)$a(float)$a(string)$a
6 php中的“变量处理”函数
这种方式同样不直接改变$a变量类型,而是需要对其重新赋值。

3.测试变量状态

php是一种应用于网络中的语言,
它主要的作用就是处理网络访问中产生的数据

因此在实际应用中,这些数据形成的变量并不在我们的控制范围之内,

此时,我们需要对变量状态进行测试,防止产生错误。

比如我们有了一个值为0的变量,并将它作为一个被除数, 此时就会产生一个除以0的算术错误,导致warning(警告)。
6 php中的“变量处理”函数
甚至有时会产生error(错误)。

因此在对未知的变量进行使用前,测试它的状态很重要。

测试变量的函数有两个,
bool isset($a)
检测变量$a是否存在(返回true表示为存在),

bool empty($a)
检测变量$a是否为空(返回true表示为空),

什么是存在?
定义过变量,且为变量赋过值,那么这个变量存在。

什么是为空?
空,一般代表空字符串。
即引号之间没有任何东西(包括空格)。

具体请看演示,
6 php中的“变量处理”函数

  • 变量$a赋值为’3’,存在且不为空。
  • 变量$b没有赋值, 不存在且为空。
  • 变量$c赋值为”,存在但为空。
  • 变量$d赋值为’ ‘(有空格), 存在且不为空。

简而言之,
如果isset()false(不存在),
那么empty()必定为true(为空),

如果isset()true(存在),
empty()需要视字符串情况而定。

请最好自己手打一遍加深理解!!!

最后总结一下:

1.使用var_dump()测试变量类型。
使用is_int/float/string()判断类型是否符合, 使用is_numeric(),判断字符串是否是纯数字。

2.settype()直接设置变量类型,
intval()(int)$a通过重新赋值改变变量类型。

3.isset()检测变量是否存在,
empty()检测变量是否为空。

加深一下理解,尤其是“3.测试变量状态”。

如果想做作业

那么请把以上所有提到的函数,
自己用各种变量尝试一遍,
有问题可以在评论区留言。


我知道变量分了三讲有些长,你看的也有些累了,但它真的是php的基石与特色。
今天过后,你的学习进度将大大加快。 #(真棒)

谢谢观看,明天见! #(太开心)


祭夜の咖啡馆 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:6 php中的“变量处理”函数
喜欢 (0)
[1690127128@qq.com]
分享 (0)

您必须 登录 才能发表评论!