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

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

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

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

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

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

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

精品课程

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

共137课时 | 8.6万人学习

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

共6课时 | 7万人学习

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

共13课时 | 0.9万人学习

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

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