本文主要讲解字符串的定义方式,数据类型和常量的相关内容。

一、字符串的定义方式

1、字符串的定义方式除了单双引号外,还有一种叫 heredoc newdoc 

在我们需要定义很长一段儿字符串的时候需要用到heredoc。它的格式如下:

$sql = <<<EOT
...
<<<EOT
//结尾一定不能留空格,要放到文件的开头。
//heredoc的功能和双引号的功能类似,只是它常用于定义长文本。

newdoc 的功能和单引号的功能类似,它也主要用于定义长文本,格式就是在heredoc的基础上加上一个引号

$sql = <<<'EOT'
...
<<<'EOT'
//结尾一定不能留空格,要放到文件的开头。
//newdoc就是在heredoc的基础上加上一个引号

二、数据类型

1、数据类型的分类(3类8大类型)

3类

8大类型

标量

整型

浮点型

字符型

布尔型

符合

数组

对象

特殊

NULL

资源型

2、浮点型不能用于比较运算中,即不能用在有 "=="的地方,例如:

//这个等式是永远不成立的,因为计算机在进行二进制转换时有损耗,0.3 + 0.5 的值为 0.7999....
if (0.3 + 0.5 == 0.8) {
echo 'success';
}

3、布尔型 false 的 7 种情况:

// false 的 7 种情况
0, 0.0 , '0', '', false, array(), null

4、9 个超全局数组:

5、$_SERVER种需要记住的 9 点:

我以 http://www.test.com/index.php/user/login?username=chrdai 为例:

分类

$_SERVER里面的值

说明

举例

地址相关关

$_SERVER['SERVER_ADDR'] 服务器IP 10.80.10.43
$_SERVER['REMOTE_ADDR'] 客户端IP 192.168.18.123

请求地址相关

$_SERVER['REQUEST_URI']  index.php,包括前面的/ /index.php
$_SERVER['PATH_INFO'] url路径部分,index.php之后,?之前 /user/login
$_SERVER['QUERY_STRING'] ? 后面的一大串儿 username=chrdai
$_SERVER['HTTP_REFERER'] 上一次请求的页面  
  $_SERVER['SERVER_NAME'] 服务器名称  
  $_SERVER['REQUEST_TIME'] 请求时间  
  $_SERVER['HTTP_USER_AGENT'] 头信息里面的user_agent信息  

三、常量

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

define 和 const 的区别:

  • 效率上const是语言结构,更快,define 是函数
  • const 可用于定义类常量,而define 不可以

8个预定义常量

  • __LINE__,文件中的当前行号。
  • __FILE__,文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
  • __DIR__,文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
  • __FUNCTION__,函数名称,返回该函数被定义时的名字。
  • __CLASS__,类的名称,返回该类被定义时的名字。
  • __TRAIT__,Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
  • __METHOD__,类的方法名,返回该方法被定义时的名字(区分大小写)。
  • __NAMESPACE__,当前命名空间的名称(区分大小写)

本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/p/11067268.html

全面解读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. LaTeX的tasks宏包

    tasks 宏包 LaTeX的列表(list)通常是将项(item,条目)一个一个垂直的平行显示,所谓"列"表的由来. 水平分列列表,即将多个项分散到各列而不是一列,在出考卷的选择 ...

  2. 在Chrome中使用IE浏览器!

    学校的毕业论文系统,无法完整显示网页,特别是下部的"提交"按钮看不见. IE11无效. 发现"360极速浏览器 7.5.3.186"能正常显示,百度网盘下载太慢 ...

  3. 测试Random类nextInt()方法连续两次结果一样的概率

    public static void main(String[] args) { int count = 0; int a = 0; Random r = new Random(); while (t ...

  4. kubeDNS workflow(service registration and discovery)

    Service discovery In k8s, we usually will more than make an application instance, and also the corre ...

  5. mxnet 豆瓣镜像源安装

    mxnet安装比较简单,这里直接通过豆瓣镜像源用pip安装 pip install -i https://pypi.doubanio.com/simple/ mxnet-cu100 # 进入ipyth ...

  6. mysql安装及加固

    mysql安装 查看是否安装mysql 我们先看一下有没有安装mysql yum list installed mysql | grep mysql 本地只安装了php链接mysql的库,没有安装my ...

  7. lightinthebox程序bug zencart

    1.清空旧产品分类,新增分类与产品,前台首页不显示中间栏,提示无产品:布局设置 -(Main Page - Opens with Category)首页显示某分类,把新增的某分类ID填上或者设为0即可 ...

  8. 关于ORACLE事务处理的一些笔记

    这是2013年在看ORACLE概念手册的时候的一些笔记,现在整理如下(可能跟其他一些文章的内容有重复):     20131012 周六 oracle概念手册中文版 第4章 事务管理   事务具有原子 ...

  9. CentOS 6的系统启动流程

    一.POST加电自检 按下电源后ROM芯片中的CMOS程序执行并检测CPU.内存等设备是否存在并正常运行,CMOS中的程序叫BIOS,可以设置硬盘接口,网卡声卡开关之类的简单设置.一般PC机主板上有一 ...

  10. 模拟客户端向服务器发起请求(从Fiddler抓包到Jmeter接口测试)

    一.安装Fiddler 二.配置 在菜单栏Tools->Fiddler Options->Connections,勾选Allow remote computers to connect,默 ...