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. Antlr学习

    参加工作之后,接触DSL领域语言,了解了编译原理. 比如Hibernate.Hive等的HQL都是基于antlr编写的 所以,如果想自己实现一套DSL语言,我们可以基于antlr做词法分析与语法分析 ...

  2. HtmlPrefixScopeExtensions

    http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

  3. java内省机制Introspector

    访问JavaBean属性的两种方式 1)直接调用bean的setXXX或getXXX方法: 2)通过内省技术访问(java.beans包提供了内省的API),内省技术访问也提供了两种方式: a)通过P ...

  4. 中南大学第一届长沙地区程序设计邀请赛 To Add Which?

    1350: To Add Which? Time Limit: 1 Sec  Memory Limit: 128 MB Description There is an integer sequence ...

  5. 文件系统取证分析(第11章:NTFS概念)

    /* Skogkatt 开始翻译于2015-01-24,仅作为学习研究之用,谢绝转载. 2015-01-31更新MFT entry 属性概念. 2015-02-01翻译完成. 译注:我翻译这本书的这三 ...

  6. spring batch学习笔记

    Spring Batch是什么?       Spring Batch是一个基于Spring的企业级批处理框架,按照我师父的说法,所有基于Spring的框架都是使用了spring的IoC特性,然后加上 ...

  7. ios7 导航栏 手势 右划 自动返回 相关

    http://www.tuicool.com/articles/vMfAVv 纪录一下,

  8. Android控件大全(三)——RecyclerView

    是时候用RecyclerView来替换ListView和GridView了 好处就不多说了,百度一搜一大把,来介绍下用法 先定义个适配器: public class BottomSheetAdapte ...

  9. MFC常见问题解惑

    MFC类的分类 1 Root: CObject : CObject2 Application Architecture Classes: CWinApp/CFrameWnd/... 3 Window, ...

  10. ansible检测链路状态和切换状态

    控制机 ansible.cfg callback_plugins = /usr/share/ansible/plugins/callback:/opt/ansible/plugins/callback ...