php学习day4---常量与数据类型

今天我学习了php有关常量的知识和数据类型的知识

下面是今天的学习内容:

一、常量

  1.常量定义

  常量是一个其中存储的数据不会也不应该改变的“标识符”。通常情况下,常量的定义有两种方法:

//第一种方法
//define(“常量名”,“常量值”);
define("HH","123");

//第二种方法
//const  常量名=常量值;
const  HH = 123;

  常量的取值方法:两种方法

//直接使用名字,或者通过constant()函数取值

//直接使用其名
    echo HH;        // HH = 123

//使用constant(“常量名”)函数,注意:常亮名是个字符串
    echo constant("HH");   // HH=123

  常量有以下几个特点:

    1.常量无需$来使用。

    2.常量的值不可以改变也不能销毁。

    3.具有超全局作用域。

    4.常量只能储存标量。

  在一个项目中,是由多个人员来共同开发,那么如何判断一个常量是否存在或被别人定义呢?

在这里,我们给出以函数,这个函数就是专门判断常量是不是存在的:

      defined(“常量”)

    如果存在,返回true,不存在,则返回false

  在php当中如果使用一个未定义的常量会报错,但是仍然会将该常量当有值。

  预定于常量

  预定义常量就是系统中预先定义好的常量,我们可以直接拿过来用,着种常量,有几百个,我们需要了解几个就可以了:

    M_PI:圆周率;

    PHP_OS:就是php运行所在的操作系统。

    PHP_VERSION:就是php的版本号。

    PHP_INT_MAX:php种的最大整数。

  魔术常量

    _FILE_:代表当前网页文件的完整物理路径

    _DIR_:代表当前网页文件所在的文件夹

    _LINE_:代表当前这个常量名所在的行号

二、数据类型

  php一共有8种数据类型。

  基本类型(标量类型)4种:

    整型:      int   integer

    浮点数:   float,double,real

    字符串:    string

    布尔类型: bool,boolean

  复合类型两种:

    数组:    array()

    对象:    object()

  特殊类型2种

    空类型:  null

    资源类型: resource

三、数据类型的方法

  1.整型:int   integer

   1).整型有四种写法

$n1 = 123;         //十进制
$n2 = 0123;       //八进制
$n3 = 0x123;     //16进制
$n4 = 0b1010;   //2进制

   2).10进制转换为其他进制方法

      decbin():结果返回的是该数字的2进制数字形式的字符串

      decoct():结果返回的是该数字的8进制数字形式的字符串

      dechex():结果返回的是该数字的16进制数字形式的字符串

   3).其他进制转换为10进制 

      bindec(字符串): 结果返回的是该2进制数字字符串对应的10进制数字

      octdec(字符串): 结果返回的是该8进制数字字符串对应的10进制数字

      hexdec(字符串): 结果返回的是该16进制数字字符串对应的10进制数字

  2.浮点数

    浮点数有两种写法:

      常规写法:  带小数点。   (123.456)

      科学计数法:  带特殊符号E。(123456E3)

    注意:浮点数不应该进行大小比较,因为所有的数字最终形式都是二进制,大多数浮点数的二进制都是不能准却表达的。当整数的运算结果超出整数最大范围,就会变成浮点数。

  3.字符串

  字符串的四中形式:

形式1:双引号字符串:
$str1 = “字符串内容.....”;

形式2:单引号字符串:
$str2 = ‘字符串内容.....’;

形式3:双引号定界符字符串:
$str3 = <<<”标识符A”
字符串内容....
标识符A;

形式4:单引号定界符字符串:
$str4 = <<<’标识符B’
字符串内容...
标识符B;

  四者区别:

   

  3.布尔类型(bool,boolean)

    其只有2个数据:true,false;

    布尔类型的一个常见应用情形是:对一个变量直接进行判断。

        0,   0.0,   “”,   “0”,   null,   array(),   false,   还有一个是“未定义的变量”

四、类型转换

   自由转换

    在任何运算中,如果需要某种类型的数据,而给出的数据不是该类型,通常都会发生自动转换:将该类型转换为目标需要的类型。如图:

  强制转换

    自动类型转换是由“运算符”或类似运算符的语句来决定的。强制类型转换,仅仅是一个简单的语法: 

      (int),  (float),  (string),  (bool),  (array),  (object)

    上述强制类型转换,并不改变该变量的本身数据或类型。对应,有一个语法是直接改变本的数据(及类型):

      

        settype( $变量名,  “目标类型”);

五、常见与数据类型相关的函数

    var_dump():                 打印变量的相关信息

    getType($变量):             获取数据类型,返回值是该类型名称的字符串

    setType($变量名,“目标类型”):       设置变量的数据类型,直接改变本的数据(及类型)

    is_*():                   判断一个变量是否是某种类型

    isset():                   判断变量是否为null或者是否存在

      empty():                  判断一个变量是否为空 “”,“0”,0,false,arry(),null都认为是空的,返回布尔值

    今天的笔记就写到这里,明天继续。

时间: 2024-10-08 07:09:35

php学习day4---常量与数据类型的相关文章

JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为: DataType identifier; 或 DataType identifier = value; 其中,DataType是变量类型,如int/string/char/double/boolean等:identifier是变量名称,即标识符:value就是声明变量的值. 注: a.标识符由数字0-9.大小写字母.下划线.美元符号.人民币符号以及所有

【PHP内核学习】变量和数据类型

|=-----------------------------------------------------------------------=| |=---------------------=[ PHP内核中的变量和数据类型]=--------------------=| |=-----------------------------------------------------------------------=| |=--------------------------=[ by

Java学习笔记二:数据类型

Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围从-2 147 483 6至2 147 483 647 超过20亿,如果用来存储大于20亿的值,最好使用long型. 1.2  int 与Integer: Java中的数据类型分为基本数据类型和复杂数据类型.Int为前者,integer为后者. Integer是int的封装类,提供了很多转换方法,当

Scala学习-变量常量、运算符、流程控制和函数

scala是马丁.奥德斯克设计的,专门为程序员设计,广泛应用于大数据的语言.它同时支持面向对象和面向函数编程,运行scala需基于JVM,使用它需要提前安装好JDK和scala SDK.scala的的代码一行可以顶多行java代码,开发效率高,并且兼容java类库,scala编译完也是.class文件.另外大数据框架kafka和spark是基于scala开发的,因此想做流处理需要学习scala. 基本数据类型 scala中没有基本类型的说法,绝大多数类型(类似java类型)都封装成了类,以下是它

Python学习第三天--数据类型

数据类型: int()  整型 float()浮点型 e记法   (有点像数学中的科学计数法) 知识点概括: 字符相加,结果为和 >>> 520 + 5201040 2.字符串相加,结果为"拼接" >>> '520'+'1314''5201314' 3.逻辑运算,python认为True=1,False=0,(True和False第一个字母必须为大写) >>> True + True 2 >>> True - Tr

【C#学习路途之一】数据类型中的值类型

刚刚学习了C#的数据类型中的值类型,在C#中,数据类型分为三中,一种是值类型,另一种是引用类型,最后一种不常用,是指针类型,这个在C语言中经常使用,到现在我都没搞明白! 整数类型: 数据类型 含义 取值范围 sbyte 有符号8位整数 -128到127 byte 无符号8位整数 0到255 short 有符号16位整数 -32768到32767 ushort 无符号16位整数 0到65535 int常用 有符号32位整数 2三十一次方 到 2三十一次方-1 uint 无符号32位整数 0到429

iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明

iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Foundation 框架概述文档:常量.数据类型.框架.函数.

c++ 11学习笔记-- 常量表达式(constexpr)

最新在弄android ndk相关的,惊奇的发现最新的ndk10的版本已经gcc4.9了,我印象中,gcc4.8就支持C++0x11,14的支持,gcc再次走到了llvm的前面,LLVM最新的版本3.4.2应该只支持c++ 11,如果是同样的c++代码我一直认为llvm的效率会明显强过gcc. 废话不多说,让我们开始学习c++ 11吧,说实话我之前一直都很抗拒c++新的语法,感觉太难接受了,现在看来不熟悉也不行了. 常量表达式(constexpr) 常量表达式机制是为了: 提供了更多的通用的值不

系统学习redis之七——redis数据类型之zset数据类型及操作

sourted sets数据类型介绍 sorted set是set的一个升级版本,他在set的基础上增加了一个顺序属性.这一属性在修改元素的时候可以指定,每次指定后,zset会自动按照新的值调整顺序,是有序集合.可以理解为有两列的MySQL表,一列存value,一列存顺序.操作中key理解为zset的名字. zset数据类型方法 zadd:向指定集合zset中添加元素member,score用于排序,如果该元素已经存在,则更新其顺序 zrange:查看sourted sets里面的所有元素 zr

PHP面试 PHP基础知识 二(常量及数据类型)

常量及数据类型 PHP八种数据类型 四种标量类型 字符串(string).布尔(boolean).浮点(float/double).整型(integer) 两种复合类型 数组(array).对象(object) 两种特殊类型 资源(resource)  null PHP的字符串的定义方式及各自区别? 定义方式:单引号  双引号  heredoc 和 newdoc 区别:单引号的效率高于双引号 单引号 单引号不能解析变量 单引号不能解析转义字符,自能解析单引号和反斜线本身 变量和变量.变量和字符串