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. Django 的 CSRF 保护机制

    转自:http://www.cnblogs.com/lins05/archive/2012/12/02/2797996.html 用 django 有多久,我跟 csrf 这个概念打交道就有久了. 每 ...

  2. C Primer Plus(第五版)11

    第 11 章 字符串和字符串函数 在本章中你将学习下列内容: · 函数: gets(), puts(), strcat(), strncat(), strcmp(), strncmp(), strcp ...

  3. POJ 1703

    种类并查集,基本思想是每次压缩路径都必须同时更新子节点和根节点的关系,这种关系是通过子节点和父亲节点的关系,以及父亲节点与根节点的关系运算出来. 压缩路径的findme();参考了大神的代码,做的第二 ...

  4. C# ToolStripProgressBar

    ToolStripProgressBar 将所有 ToolStrip控件的移动和渲染功能和其典型的进程跟踪功能结合在一起.ToolStripProgressBar通常放在StatusStrip中,偶尔 ...

  5. IIS发布,图片和样式显示不了的问题

    今天本地IIS部署在visual stuio 2013里运行成功的一个项目时,出现了样式和图片显示不了的情况,如下图 所有页面的样式和图片不显示,刚开始以为是发布之后的图片和样式的文件夹没有权限,可是 ...

  6. 刻意练习,逃离舒适区——怎么样成为一个高手[罗辑思维]No.183_知识笔记

    2016/10/30 14:31:32   一.对事物的见解分为两类:         1.评论性的见解               说的内容都是对的,符合常理的,但是却是不解决问题的.       ...

  7. js实现简单的滑动门和tab选项卡

    思想:首先定义三个选项卡,可以用任何标签,只要如下图, 一共有三个ul,第一个ul给一个class,因为默认第一个选项卡的内容显示出来, 其他两个ul  display:none: 当我鼠标移到第二个 ...

  8. 学习总结 Java 基本数据类型 和标识符以及常用的关键字

    思维导图: public static void main(String[] args) { // java程序的入口点 c#是Main System.out.println("测试输出&q ...

  9. bzoj1003 [ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6300  Solved: 2597[Submit][Stat ...

  10. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...