资讯专栏INFORMATION COLUMN

PHP 学习总结之变量

bitkylin / 1589人阅读

摘要:小驼峰法大驼峰法匈牙利命名法变量名属性类型对象描述。是一种弱类型语言,变量在使用之前并不需要声明类型,且同一变量可以保存多种不同类型的数据。另外,在函数内部创建的静态变量是无法在函数外部使用的。

变量标识符

标识符即是变量的名称,PHP 中关于变量的标识符有以下规则:

由任意字母、数字、下划线组成,但不能以数字开头

严格区分大小写

为了科学规范标识符,主要有以下几种流行的命名方式:

1. 驼峰命名法

第一个单词以小写字母开始,之后每个单词的首字母大写(小驼峰法);或每一个单词的首字母都采用大写字母(大驼峰法,也称帕斯卡命名法)。

$myFirstName = "jochen"; # 小驼峰法
$MyFirstName = "jochen"; # 大驼峰法
2.匈牙利命名法

变量名 = 属性 + 类型 + 对象描述。

$sMyFirstName = "jochen";
3.下划线命名法

所有字母均小写,并且每个单词间以下划线分割

$my_first_name = "jochen";
变量赋值

PHP 提供了两种方式给变量赋值,分别是传值赋值和引用赋值。

最常用的是传值赋值,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。

引用赋值是原始变量内容的一种别名,不同于 C 语言中的指针,但改动变量的值一样会影响到原始变量。

$foo = "jochen"; # 传值赋值
$bar = &$foo;    # 引用赋值

$bar = "coco";   # $foo、$bar 的值都为 coco
变量类型

变量类型是指能够保存在该变量中的数据类型。PHP 的数据类型可分为三种:标量数据类型、复合数据类型和特殊数据类型。PHP 标量数据类型有 boolean(布尔型)integer(整型)float(浮点型,也称作 double)string(字符串),复合数据类型有 array(数组)object(对象)callable(可调用),特殊数据类型 resource(资源)NULL(无类型)

PHP 是一种弱类型语言,变量在使用之前并不需要声明类型,且同一变量可以保存多种不同类型的数据。有时,为了判断当前变量的数据类型,我们可以使用以下方法进行判断:

gettype()                 — 获取变量的类型
is_int() 或 is_integer()  — 检测变量是否是整数
is_numeric()              — 检测变量是否为数字或数字字符串
is_float() 或 is_double() — 检测变量是否是浮点型
is_string()               — 检测变量是否是字符串
is_bool()                 — 检测变量是否是布尔型 
is_array()                — 检测变量是否是数组
is_object()               — 检测变量是否是一个对象
is_null()                 — 检测变量是否为 NULL 
is_resource()             — 检测变量是否为资源类型 

有时,我们需要强制将某个变量当作某种类型来求值,就要进行类型强制转换:

(int) 或 (integer)  — 转换为整形
(bool) 或 (boolean) — 转换为布尔类型
(float) 或 (double) — 转换为浮点型
(string)            — 转换为字符串
(array)             — 转换为数组
(object)            — 转换为对象
(unset)             — 转换为 NULL
变量作用域
1.超全局变量

由 PHP 预定义的,且在任何脚本的任何作用域中始终可用的一种变量。超全局变量包括:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

其中 $GLOBALS 是一个包含了所有全局变量的关联数组,变量的名字就是数组的 key,变量的值就是数组的 value

2.全局变量

在函数外部创建的变量, for 语句 、while 语句、foreach 语句中创建的变量也属于全局变量,其作用域是从创建变量的语句开始到文件的末尾,但在函数内部不可见。需要注意的是:常量一旦被创建,将在全局中可见,同时在函数内部也是可见的。

3.局部变量

在函数内部创建的变量,其作用域是从创建变量的语句开始到函数末尾。需要注意的是:如果函数内部的变量与外部的全局变量名称相同时,内部变量会覆盖外部变量。另外,在函数内部创建的静态变量是无法在函数外部使用的。

requireinclude 不影响作用域,即如果这两个语句作用于函数内部,变量具有局部作用域;如果作用于函数外部,变量具有全局作用域。

用关键字 global 声明变量,可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28519.html

相关文章

  • PHP 学习总结字符串

    摘要:因此,当需要操作字符集的字符串时候,请务必安装扩展,并使用相应的函数代替原生的字符串函数中国扩展大部分的函数都需要基于一个编码内部编码来处理,请务必统一使用编码,这个大部分可以在中配置。 创建 PHP 支持 4 种方式来创建一个字符串:单引号、双引号、heredoc 语法结构和 nowdoc 语法结构。 1. 单引号 在单引号字符串中,变量和特殊字符将不会被转义替换,除了反斜杠和单引号...

    WelliJhon 评论0 收藏0
  • PHP-7.1 源代码学习:字节码生成 "$a = 1"

    摘要:前言本文通过分析这个语句的编译和执行来窥探解释执行逻辑准备参考之前的系列文章,在环境下下载,编译源代码将代码导入中编辑运行选项,增加运行参数设置断点开始调试是一个测试脚本,放在目录下,中只包含一条简单的赋值语句调用堆栈参考之前的系列文章 前言 本文通过分析 $a=1 这个 PHP 语句的编译和执行来窥探 php-cli 解释执行逻辑 准备 参考之前的系列文章,在 ubuntu 环境下...

    ConardLi 评论0 收藏0
  • PHP 学习总结数组

    摘要:概述我们知道,在编程语言中,数组的使用频率是很高的,几乎每个脚本都会使用到。循环缺点遍历完成之后,不能对数组进行第二次遍历数组内部指针指向了最后一个元素。 概述 我们知道,在 PHP 编程语言中,数组的使用频率是很高的,几乎每个脚本都会使用到。 PHP 自带了大量的、优秀的操作数组的函数以供我们使用,本文就对这些数组函数的使用做一些分类和总结,方便大家以后查阅。 创建 1. range...

    wangdai 评论0 收藏0
  • Codeigniter 4.0-dev 版源码学习笔记二——入口以及初始化操作

    摘要:通过这个函数可以很方便的在程序运行期间执行很多常见操作。此文可以转载,但转载前需要发邮件到进行沟通,未沟通的均视作侵权。 index.php index.php 是整个框架的入口文件,也就是说所有的请求都要从它这里开始。因为 index.php 源码非常简洁,那么我们直接放一张源码截图,按着截图说一下源码。 showImg(https://segmentfault.com/img/re...

    _ivan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<