引言

先用一个题来作为开端:PHP字符串的三种定义方式是什么?有什么区别?

它们分别是单引号'',双引号"",newdoc和heredoc。

区别是:单引号不能解析变量,不能解析转义字符,只能解析单引号和反斜线本身。

双引号可以 解析变量,可以解析所有的转义字符。

由此可见单引号的效率要高于双引号。在我们进行SQL语句的书写时可以利用这一点:

$sql = "sellect * from user where name = '$name'";//原SQL语句
$sql = 'sellect * from user where name =\''.$name.'\'';//这样效率会高一点,并且可读性也高一些
    而heredoc类似于双引号,newdoc类似于单引号,两者都用来处理大文本
heredoc:  $str = <<< EoT
........//里面的变量和转义字符会被解析
EoT
newdoc:$str = <<< 'EoT'
........
EoT

数据类型

三大数据类型:标量(布尔、字符串、整型、浮点型)、复合(数组、对象)、特殊(资源、NULL)。

标量中注意:浮点类型,它不能用于比较运算中,不要直接判断两个浮点类型的数值是否相等。

bool类型,false的七种情况:0、0.0、''、'0'、false、array()、null。

复合中注意:数组类型,超全局数组:$GLOBALS、$_GET $_POST $_REQUEST $_SESSION $_COOKIE $SERVER $_FILES $ENV,其中$GLOBALS包含了后面的所有内容,$_REQUEST包含了$POST $_GET $_COOKIE的内容,这里再着重讲解一些$_SERVER:

$_REQUEST['SERVER_ADDR']//服务器端IP

$_REQUEST['SERVER_NAME']//服务器名称

$_REQUEST['REQUEST_TIME']//请求时间

$_REQUEST['QUERY_STRING']//网址?后面的内容

$_REQUEST['HTTP_REFERER']//上级请求的页面

$_REQUEST['REMOTE_ADDR']//客户端IP

$_REQUEST['REQUEST_URI']//请求的index.php,返回的是/index.php

$REQUEST['PATH_INFO']//网址的路径部分

特殊中注意:NULL的三种情况:直接赋值为NULL、未定义的变量、unset销毁的变量。

常量

定义方式:const、define

const是结构,define是函数,const更快。

define不能定义类常量,const可以

常量一经定义,不能被修改,不能被删除

预定义常量:FILE LINE -DIR
FUNCTION METHOD CLASS TRAIT NAMESPACE

PHP常量和数据类型的更多相关文章

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

    iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...

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

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  3. php面试专题---2、常量及数据类型考点

    php面试专题---2.常量及数据类型考点 一.总结 一句话总结: 变量为null和变量判断为false的情况需要仔细注意下 1.PHP中字符串可以使用哪三种定义方法以及各自的区别是什么? 单引号:不 ...

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

    常量及数据类型 PHP八种数据类型 四种标量类型 字符串(string).布尔(boolean).浮点(float/double).整型(integer) 两种复合类型 数组(array).对象(ob ...

  5. Swift学习--常量.变量.数据类型的使用(一)

    一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...

  6. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  7. golang语法学习(一):变量,常量以及数据类型

    学习一门新的语言肯定是要从他的主要的语法開始,语法构成了整个程序设计的基础,从语法中我们也能够看到这门语言的一些特性.可是话说回来.语法这东西,不同的语言大同小异,所以这也对语法的记忆造成了一定的难度 ...

  8. java--变量,常量,数据类型的声明及使用

    一.概念: 变量是指内存中的一个存储区域,该区域要有自己的名称(变量名).类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值: 二.变量的使用注意事项: 1.Java中的变量必须声明后 ...

  9. python常量 变量 数据类型 注释 交互 if语句

    1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...

  10. Go语言学习之2 包、函数、常量、数据类型、字符操作

    第一部分:基本数据类型和操作符 1. 文件名&关键字&标识符 (1)所有go源码以.go结尾    (2)标识符以字母或下划线开头,大小写敏感,比如: a. boy     b. Bo ...

随机推荐

  1. 【网络基础】ARP地址解析协议

    ARP(Address Rssolution Protocol) 地址解析协议 用于将IP地址解析为MAC地址. MAC地址是设备的物理地址,是被分配给每一个网络接口卡的全球唯一序号. 全球唯一:理论 ...

  2. libevent(十)bufferevent 2

    接上文libevent(九)bufferevent 上文主要讲了bufferevent如何监听读事件,那么bufferevent如何监听写事件呢? 对于一个fd,只要它的写缓冲区没有满,就会触发写事件 ...

  3. D - 小Z的加油店 线段树+差分+GCD

    D - 小Z的加油店 HYSBZ - 5028   这个题目是一个线段树+差分+GCD 推荐一个差分的博客:https://www.cnblogs.com/cjoierljl/p/8728110.ht ...

  4. search(10)- elastic4s-multi_match:多字段全文搜索

    在全文搜索中我们常常会在多个字段中匹配同一个查询条件或者在不同的字段中匹配不同的条件.比如下面这个例子: GET /books/_search { "query": { " ...

  5. 【Hadoop离线基础总结】Hue与Mysql集成

    Hue与Mysql集成 1.修改hue.ini配置文件 这里要去掉#,打开mysql注释,大概在1547行 [[[mysql]]] nice_name="My SQL DB" en ...

  6. Mybatis 注入全局参数

    在项目中使用mybatis作为dao层,大部分时间都需要使用到mybatis提供的动态sql功能,一般情况下所有的表都是在同一个数据库下的,进行数据操作时都是使用jdbc中默认的schema.但是如果 ...

  7. java -> HttpServletResponse

    HttpServletResponse HttpServletResponse概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一 ...

  8. spring中<context:property-placeholder/>一个坑

    <context:property-placeholder location="classpath:db.properties" ></context:prope ...

  9. sqlite聚合函数

    常见聚合函数 avg(X) 用于返回组中所有非空列的平均值.字符串(string)或二进制数据(BLOB)等非数字类型当作0来计算.结果是浮点型的数据,即便所有数据中只有一个整数(integer)的数 ...

  10. firefox的fq设置图文教程- 【windows,mac通用】

    不能像下图一样全部设置socket代理,这样会把所以请求都转发到ss ! 应该使用系统设置,这里不能用pac ,因为pac 链接每次都是变化的. 搞定.