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

一、字符串的定义方式

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

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

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

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

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

二、数据类型

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

3类

8大类型

标量

整型

浮点型

字符型

布尔型

符合

数组

对象

特殊

NULL

资源型

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

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

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

  1. // false 的 7 种情况
  2. 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. vscod插件

    Babel JavaScript Code Runner Debugger for Chrome ESLint HTML CSS Support HTML Snippets background  J ...

  2. Vue中自定义指令的使用方法!

    除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍然需要对普通 DOM ...

  3. Java 获取日期间的日期 & 根据日期获取星期

    场景:根据起止日期获取中间的日期: 根据日期获取当前日期的星期 根据日期日期获取日期 /** * 获取日期间日期 * @param start * @param end * @return */ pr ...

  4. Shell脚本之sed详解

    在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...

  5. 第十篇.3、ython并发编程之多线程理论部分

    一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合 ...

  6. 服务器挂载 ntfs32 硬盘

    1,fdisk -l 查看硬盘名称 2,mount -t ntfs-3g /硬盘名/  /目标目录/ 3,umount   /硬盘名/ 4,如果卸载不了 就fuser -km /目标目录/

  7. osworkflow 入门基础

    OSWorkFlow入门指南目的 这篇指导资料的目的是介绍OSWorkflow的所有概念,指导你如何使用它,并且保证你逐步理解OSWorkflow的关键内容. 本指导资料假定你已经部署OSWorkfl ...

  8. luogu2014 选课[树形背包][优化成$O(n^2)$的方法]

    https://www.luogu.org/problemnew/show/P2014 树形背包的裸题..当版子好了. $f[i][j][k]$表示子树$i$选前$j$个孩子,共$k$个后代节点时的最 ...

  9. 加密web.config数据库连接

    加密cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319aspnet_regiis.exe -pef "connectionStrings&q ...

  10. mysql创建函数槽点

    上机环境 mysql8.0 navicat for mysql 很有那么一批软件程序,要不做点脱了裤子放屁的事儿就觉得自己不够二进制似的,今儿写了一下午mysql函数,怎么都通过不了,上网一看 mys ...