PHP 学习总结之变量
变量标识符
标识符即是变量的名称,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.局部变量
在函数内部创建的变量,其作用域是从创建变量的语句开始到函数末尾。需要注意的是:如果函数内部的变量与外部的全局变量名称相同时,内部变量会覆盖外部变量。另外,在函数内部创建的静态变量是无法在函数外部使用的。
require
和include
不影响作用域,即如果这两个语句作用于函数内部,变量具有局部作用域;如果作用于函数外部,变量具有全局作用域。用关键字
global
声明变量,可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
PHP 学习总结之变量相关推荐
- c程序语言设定定义域,4.22C语言学习日记:变量的定义域及编译预处理
学习笔记: 变量的存储类型: 静态存储方式:在程序运行期间由系统分配固定存储空间:从程序开始执行到程序结束: 动态存储方式:根据需要进行动态的分配存储空间:从包含该变量定义的函数开始执行至函数执行结束 ...
- Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程)
Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程) 目录 判断变量是否为NONE或False的几种常见写法(if not用法教程) 1.not用法 2. ...
- NodeJS学习:环境变量
简介 环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数.会在程序运行时传递给应用程序. NodeJS 获取环境变量,是通过 glo ...
- VB.net:VB.net编程语言学习之操作符(变量/常量/数据类型/声明)逻辑控制语句(条件判断/循环语句)的简介、案例应用之详细攻略
VB.net:VB.net编程语言学习之操作符(变量/常量/数据类型/声明)&逻辑控制语句(条件判断/循环语句)的简介.案例应用之详细攻略 目录 VB.net编程语言学习之操作符/变量/常量/ ...
- python 分类变量编码_深度学习编码分类变量的3种方法——AIU人工智能学院
:数据科学.人工智能从业者的在线大学. 数据科学(Python/R/Julia) 作者 | CDA数据分析师 像Keras中的机器学习和深度学习模型一样,要求所有输入和输出变量均为数字. 这意味着,如 ...
- java基础学习 --- 第二节 变量、数据类型和运算符
java基础学习 - 第二节 变量.数据类型和运算符 一.变量 1.变量就是会发生改变的数据,程序运行时,这些数据以变量的形式被保存到计算机的内存中.如图 2.使用变量的步骤: 声明变量 - ...
- Polyworks脚本开发学习笔记(五)-变量使用基本语法
Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...
- (一)Flutter 学习之 Dart 变量和类型系统
Flutter系列文章目录导读: (一)Flutter学习之Dart变量和类型系统 (二)Flutter学习之Dart展开操作符 和 Control Flow Collections (三)Flutt ...
- matlab中float类型的_【Python基础学习】2. 变量、基本数据类型及其转换
知行校园汇 记录学习.分享干货.吐槽人生! 关注 相关说明 文章内容:变量.基本数据类型及其转换 作者博客:csdn.cxhit.com www.cxhit.com 1. 变量 1.1 变量规则 在P ...
- python整数类型进制表示_python2学习经验(一) 变量数据类型
python2 基础教程 (学习经验总结) -------------------------基础片-------------------------- python2的数据类型 python2没有 ...
最新文章
- iptables配置管理
- 如何把使用到android res文件夹下面资源(R.xx.xx)的工程打包成jar文件,供其它项目使用...
- Linux jobs等前后台运行命令详解
- 如何访问MATLAB Builder for .NET Components
- numpy.tril详解
- 趣味Python入门(一):初识Python
- python怎么查询元素是否在列表中_python怎么判断某一元素是否在列表中
- python 条件语句且_python 条件语句
- LEDE独臂路由器无法上网踩坑
- 怎么改变鼠标图案HTML,怎么换鼠标指针的颜色和图案?
- python生成华氏度-摄氏度转换表
- unity材质球复制
- 在 iOS 微信浏览器中自动播放 HTML5 audio(音乐) 的正确方式
- 数学建模暑期集训24:机器学习与Classification Learner工具箱实操
- mba辅导班哪个机构好?全方位解答<title>mba辅导班</title>
- 如何设置select-option的多项起始默认值
- CGWallpapers网站不登录下载图片
- 数据结构_线段树 详解+模板
- 多边形向内收缩指定距离的实现
- Leetcode_577_员工奖金_SQL