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. android github

    Action Bars ActionBarSherlock Extended ActionBar FadingActionBar GlassActionBar v7 appcompat library ...

  2. [Uva 10085] The most distant state (BFS)

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. 初次体验架设PHP网站

     最近需要快速架设一个网站,因此淘了一份成型的模板,然后就开始..过程比较曲折. 测试环境:Win7旗舰+IIS7.5+mysql5.6+PHP5.2.17+PHPManagerForIIS-1.1. ...

  4. POJ 3207 Ikki's Story IV - Panda's Trick

    Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7296   ...

  5. HttpWebRequest访问时,错误:(401)未经授权。

    HttpWebRequest访问时,错误:(401)未经授权. 某网页,我不想做登录界面,直接使用域的帐号密码来访问.如果网站设置成Window身份验证,单独的页面都没问题,而是通过使用HttpWeb ...

  6. python中若干错误

    今天在运行的django的时候一直提示”系统错误“,如下 except Exception, ex: logger.error(printException()) return render_stri ...

  7. 华为OJ平台——完美数

    import java.util.Scanner; /** * * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数. * 它所有的真因子(即除了自身以外的约数)的和(即 ...

  8. Leetcode028. Implement strStr()

    class Solution { public: int strStr(string haystack, string needle) { ; //needle empty ; //haystack ...

  9. IDL与C#混合编程技术

    C# (C Sharp)是微软公司在2000年6月发布的一种新的编程语言.C#与Java有很多的相似之处,包括了诸如单一继承.界面.与Java几乎同样的语法,和编译成中间代码再运行的过程.它又借鉴了D ...

  10. C++中“强制转换”的四大天王

    哈哈,这个标题有点搞笑了!笑一笑,十年少,希望大家都嗨心! 在C++中主要有四种强制类型转换:static_cast,reinterpret_cast,const_cast,dynamic_cast. ...