php是一种动态脚本语言,比较适合web开发。

php支持8种变量数据类型:

四种标量类型:

  • boolean(布尔型)
  • integer(整型)
  • float(浮点型,也称作 double)
  • string(字符串)

两种复合类型:

  • array(数组)
  • object(对象)

最后是两种特殊类型:

  • resource(资源)
  • NULL(无类型)

变量你可以这样理解,假如php是一个人的话,变量就是各种类型的衣服,设定变量的用途就是在合适的场合穿上合适的衣服

变量的重点就是在于在变字,它不是一个固定的值,我们上班要穿工作服,这个时候变量是boolean,上学要穿校服,它可以是integer,回家要穿睡衣,它可以是string,有种很特殊的变量是NULL,你可以理解为睡觉的时候什么都不穿。

复合型的变量就是包含多种类型的变量组合,你可以理解为套装,上衣,裤子,手套,领带,皮鞋,袜子一应俱全,什么都可以包含。

我们认真的看下这几种变量有什么不同

boolean,代表真假,是否。中国传统的太极,就是黑白二色,可以相互转化,一方为阳,一方为阴,现实中的男女也是,假设我们用1代表男性,0代表女性,买衣服的时候只要判断是不是男款或者女款就很容易买到合适的衣服。布尔值在生活中非常常见,像插座,都是有零线和火线。电脑中都是以二进制来传递数据。你也可以理解为0和1就是限定了数值范围的整形。

integer:整形,说的通俗易懂就是整数,最常见的就是军训时点到,从左到右,1,2,3,4,5......依次报到,不管有多少人,最后一定是整数,这个就是整形,不含小数点的数字。

float:理解了整形,浮点型就比较好理解了,就是带小数的数值,买东西时,经常会看到某款图书打特价,29.98元,19.56元等,这都是浮点型,根据小数点的位数长度,位数越多,精度越高。

string:字符串类型,就是包含文字的变量,我们小的时候有小名,这是你那个时候设定的一个变量,比如叫小明,长大了,有大名,叫李明,上了社会,叫小李,岁数大了叫老李,晚辈看见叫李叔,这都是不同时期的关于你的字符串变量。

array,数组型变量,融合多种变量元素的一个集合,我们办一个身份证,一个标准的身份证是要有这么几部分的,姓名,民族,出身年月,家庭住址,肖像,经办的派出所,身份证号码等,这相当于就是你的一个数组,可以这样写

$you=array('idcard'=>'123456198805260214','name'=>'李明',''民族=>'汉'...);

调用其中的元素时,比如调用名字,$you['name'] 就可以了

object,对象类型,要比数组复杂些,调用的时候,必须先new一个,然后才可以调用其中的方法和属性。

我们要种一盆花,先要把种子载进去,浇水施肥(这就好比对象初始化),等花长大了,可以松土,可以继续浇水,施肥,直到花儿开放,花儿开放是我们的目的,但是必须先要播种,过程中可能还会有施肥,浇花等必须的方法,我们的种子是玫瑰花,红色的,这是对象的属性,相对于数组来说,对象更像是一个动态的过程。

下面是一个对象的简单的赋值调用:

class flower{

  public name;

  public color;

  function __construct($name)

  {

    echo '播种';

  }

  function watering()

  {

    echo '浇水';

  }

}

$flower=new  flower();

$flower->name='玫瑰花';

$flower->color='红色';

$flower->watering();

echo '花的名字:'.$flower->name;

echo '花的颜色:'.$flower->color;

以上6种是常用的变量类型,

  • resource(资源)类型需要有打开的句柄,就和开保险柜需要钥匙和密码一样,后面到了会介绍,用的比较少
  • NULL(无类型),就代表什么都没有,没有声明,没有初始化,就是NULL

php教程一,变量的更多相关文章

  1. Cobalt Strike使用教程一

    Cobalt Strike使用教程一     0x00 简介 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器.自3.0以后已经不在使用Metasploit框架而作为 ...

  2. CRL快速开发框架系列教程一(Code First数据表不需再关心)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  3. NGUI系列教程一

    NGUI是Unity的一个插件,使用它来制作你的游戏UI必定将事半功倍.为什么这么说呢?首先我们说说GUI与NGUI的区别,GUI是Unity自带的绘制界面工具,它的成像原理是基于表层的,所以执行效率 ...

  4. Quartz教程一:使用quartz

    原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处 ...

  5. redis学习教程一《Redis的安装和配置》

    redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执 ...

  6. andorid jni入门教程一之helloworld

    开发环境:windows2007, eclipse 做anroid越深发现用到底层开发的时候越多,但是我以前也没有搞过,因此现在打算好好学习学习.先从最简单的做起.正所谓万事开头难啊. 搞了近一天终于 ...

  7. AngularJS 基础教程一:

    一:了解AngularJS AngularJS是一款非常优秀的前端高级 JS 框架,由 Misko Hevery 等人创建 2009 年被 Google 收购,用于其多款产品 有一个全职的开发团队继续 ...

  8. tensorflow 从入门到上天教程一

    tensorflow 是一个google开源的深度学习的框架,执行性能良好,值得使用. caffe,caffe2 通过配置就可以拼凑一个深度学习框架,大大简化流程但也依赖大量的开源库,性能也不错.20 ...

  9. OpenGL教程一

    引自:https://blog.csdn.net/u013654125/article/details/73613644 GLEW, GLFW和GLM介绍 现在你有了工程,就让我们开始介绍下工程所用到 ...

随机推荐

  1. POJ 2096 【期望DP】

    题意: 有n种选择,每种选择对应m种状态.每种选择发生的概率相等,每种选择中对应的每种状态发生的概率相等. 求n种选择和m种状态中每种至少发生一次的期望. 期望DP好别扭啊.要用倒推的方法. dp[i ...

  2. Regional Changchun Online--Ponds

    网址:http://acm.hdu.edu.cn/showproblem.php?pid=5438 Ponds Time Limit: 1500/1000 MS (Java/Others)    Me ...

  3. ListView的position的保持

    需求场景: 一个ListView页面,滑动阅读到某一位置,然后退出页面,下次再进入页面的时候,想要直接滑动到上次阅读的位置. 方案1: 页面退出的时候,ListView.getFirstVisible ...

  4. 【转载】eclipse调试arm裸机程序

    一.集成开发环境 软件部分:eclipse , GDB Server , Jlink软件 硬件部分:Jlink硬件 准备工作1:从SD/NOR Flash启动,格式化nand flash 准备工作2: ...

  5. 启用 CORS 来解决这个问题(ajax跨域请求)

    <input type="file" name="btn_Upload" value="上传" id="btn_Upload ...

  6. AM3359之U-boot及kernel编译

    我用的PC主机是ubuntu12.04 LST 32位系统给出官方软件下载地址:TI官网SDK包06.00版本下载:http://software-dl.ti.com/sitara_linux/esd ...

  7. TestCase--搜索&查询模块

    一般地,电商网站的搜索模块都是一个搜索字段的输入框和一个搜索按钮组成 如下所示: 而电商网站的后台系统,如erp.wms等系统,一般都会有下方的查询模块 其中包括:时间选择框.下拉框.输入框等 如下所 ...

  8. 性能测试脚本新玩法---fiddler&&Jmeter

    飞测说:最近接触移动项目,测试app,需要做移动app的性能测试,想通过代理来录制,但是jmeter的代理录制效果真心不是很好,自己一个个请求来写代码,太浪时间了,那么有没有其他的办法呢? 我们都知道 ...

  9. sublime text编辑器删除已安装的插件

    1.ctr+shift+P,输入package2.查找remove package3.输入你要删除的package4.回车,OK

  10. Android开发-API指南-<category>

    <category> 英文原文:http://developer.android.com/guide/topics/manifest/category-element.html 采集(更新 ...