0

0

有关PHP变量的介绍

炎欲天舞

炎欲天舞

发布时间:2017-08-04 17:08:42

|

2113人浏览过

|

来源于php中文网

原创

1.1:类型

变量有8种类型,不必死记硬背,在实际运用中加深理解

1) 整型 [integer] 数学中的整数
2) 浮点型 [float,double] 数学中的小数
3) 字符串 [string] 一串字符
4) 布尔 [boolean] 真假
5) 数组 [array] 键值对复合数据
6) 对象 [Object] [在后面的面向对象中会学到] 
7) NULL 没有值
8) 资源 [resource] “吸管”

NULL是什么? NULL类型只标注了它的类型为NULL
它的值的字段是空的,NULL是没有值的

$a = 3;//整型
$b = 3.14;//浮点型
$c = null;//null型
$d = 'hello';//字符串
$e = true;//布尔型
echo $D;

变量名称的命名规范:
[a-zA-Z0-9]和下划线(_)
1)变量名是区分大小写的
2)不能以数字开头

1.2:变量检测

echo 一个不存在的变量,会报notice级别的错误,
所以要检测一下这个变量是否存在
如何检测变量是否存在?
isset — 检测变量是否设置
已声明的变量返回 true,未声明的变量返回 false.
检测一个变量是否存在: 就是看花名册中是否有这个变量名

$b = null; $c = false; $d=0; $e='';
//分别检测上述变量是否存在 
if(isset($a)) {
  echo '变量b存在';
 }else{
  echo '变量b不存在'; 
}

对于值为 NULL 的变量,也返回 false,因为null没有值 未曾声明的变量,当然也不存在

立即学习PHP免费学习笔记(深入)”;

1.3:类型检测

检测一个变量,php是把它存储成一个什么样的类型的 对于php而言获取它的变量类型是很简单的 因为箱子里面已经存储了它的变量类型
gettype — 获取变量的类型 [现成的系统函数]

$a = false;
echo gettype($a);
$b = "1";
echo gettype($b);
$c = 1.11;
echo gettype($c);
$d = 'hello';
echo gettype($d);
$e = null;
echo gettype($e);

判断变量是否是某种类型

is_float()[is_double] 检测变量是否为浮点型
is_int()[is_integer] 检测变量是否为整型
is_string() 检测变量是否为字符串
is_object() 检测变量是否为对象
is_array() 检测变量是否为数组
is_resource 检测变量是否为资源类型
is_bool 检测变量是否是布尔型
is_null 检测变量是否为 NULL
$a = 'hello';
if(is_string($a)) {
  echo 'a是字符串'; 
}else{
  echo 'a不是字符串';
 }

1.4:调试打印变量

echo 字符串,数字
print_r 打印层次化的数据,比如:数组,对象
var_dump 打印变量的类型及其值[调试代码比较方便]

$a = 'hello';
$b = array(1,2,"3"); $c = false;
$d = null;
$e=18;
$f = true;
//布尔型的true会打印出1,false和null什么都不显示
 echo $a,$b,$c,$d,$e,$f,'
'; //print_r 打印层次化的数据,比如数组和对象 print_r($b); print_r($c); print_r($d); print_r($f); //不要用echo和print_r打印布尔型的值,因为会干扰我们 //用var_dump打印布尔和null var_dump($c); var_dump($d);

1.5:类型转换

PHP中,变量的类型是可以随时转换的,非常的灵活 最常见的是字符转与数字之间的相互转换, 或者是数字/字符串 -> 布尔值的转换

字符串到数字的转换
从左到右截取,直道碰到不合法的数字,截取下来的部分转换为数字

$a = '12'; $b=$a+3; 
var_dump($b);
$a = '12.5hello'; 
//$a = '12.5hello99'; 
$b=$a+3;
var_dump($b);
$a = 'word12.5hello';
$b=$a+3; 
var_dump($b);

数字到字符串的转换

$a = 123;
$b = $a . 'hello';
var_dump($b);

数字/字符串/数组等到布尔型值的转换

云点滴客户关系管理CRM OA系统
云点滴客户关系管理CRM OA系统

云点滴客户解决方案是针对中小企业量身制定的具有简单易用、功能强大、永久免费使用、终身升级维护的智能化客户解决方案。依托功能强大、安全稳定的阿里云平 台,性价比高、扩展性好、安全性高、稳定性好。高内聚低耦合的模块化设计,使得每个模块最大限度的满足需求,相关模块的组合能满足用户的一系列要求。简单 易用的云备份使得用户随时随地简单、安全、可靠的备份客户信息。功能强大的报表统计使得用户大数据分析变的简单,

下载
$b=3; 
if($b){
echo 'b is true';
 }else{
    echo 'b is false';
}

if判断的应该是布尔型的值,那数字3被转成布尔型来理解 那它到底应该理解为真还是假呢?
以下值,都被理解为成布尔型值的假
'','0',0,0.0,false,NULL,array(); 而其它值,都被当成布尔型的真

if('' == false) {
echo '空字符串果然假';
}

empty(var) — 检查一个变量是否为空
如果 var 是非空或非零的值,则 empty() 返回 FALSE
换句话 说,""、0、0.0、"0"、NULL、FALSE、array(); 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

$arr = array();
if(empty($arr)) {
echo '变量为空';
 }

1.6:赋值

赋值有两种方式 :
1.传值赋值;(两个人看两台电视同一个台)
2.引用赋值;(两个人看同一台电视)
1.传值赋值
变量名其实不是贴在盒子上的,而是有个变量表(像班级的花名册) 变量值和变量类型放在盒子里面;变量表中的变量名指向它所对应的盒子.

$li = 23;
$wang = $li;
echo $li, '~', $wang;

改变$li的值,$wang的值会发生变换吗

$li = 99;
echo $li, '~' ,$wang;

这个赋值过程,是把$li的值,赋给$wang
2.引用赋值

$a = 'tvb';
$b = &$a; 
//$a,$b共同指向同一个值 
echo $a,'~',$b;

改变$a的值

$a = 'btv';
echo $a,'~',$b;

1.7:销毁

为什么要销毁变量?
因为,有时比较大的数组,或者比较大的对象 特别的GD画图时,比较耗费资源,将它unset掉,可以及时释放出内存
unset(变量名); 销毁指定的变量 首先从变量表(花名册)中删除变量名,再找到它对应的盒子也删除掉.

$a=99; //unset($a);
if(isset($a)) {
 echo 'a存在';
}else{
  echo 'a不存在';
}

注意: 引用赋值,如果两个变量指向同一个盒子,当销毁其中一个变量的时候,盒子是不能被销毁掉的.

$a=99;
$b = &$a;
unset($a);
echo $a,$b;//报一个notice的错误

重新给$a赋值一个新值

$a=18; 
echo $a,$b;

1.8: 动态变量名

动态变量名,可以体现php非常灵活的一个地方
用变量的值去做另一个变量的名

$laoda = 'liubei';
echo $laoda , '
'; $paihang = 'laoda'; echo $paihang , '~' , $$paihang; //排行 $rank = 'paihang'; echo $$$rank;

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号