全面解读php-常量及数据类型
本文主要讲解字符串的定义方式,数据类型和常量的相关内容。
一、字符串的定义方式
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-常量及数据类型的更多相关文章
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- php面试专题---2、常量及数据类型考点
php面试专题---2.常量及数据类型考点 一.总结 一句话总结: 变量为null和变量判断为false的情况需要仔细注意下 1.PHP中字符串可以使用哪三种定义方法以及各自的区别是什么? 单引号:不 ...
- PHP面试 PHP基础知识 二(常量及数据类型)
常量及数据类型 PHP八种数据类型 四种标量类型 字符串(string).布尔(boolean).浮点(float/double).整型(integer) 两种复合类型 数组(array).对象(ob ...
- Swift学习--常量.变量.数据类型的使用(一)
一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...
- 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组
一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...
- golang语法学习(一):变量,常量以及数据类型
学习一门新的语言肯定是要从他的主要的语法開始,语法构成了整个程序设计的基础,从语法中我们也能够看到这门语言的一些特性.可是话说回来.语法这东西,不同的语言大同小异,所以这也对语法的记忆造成了一定的难度 ...
- java--变量,常量,数据类型的声明及使用
一.概念: 变量是指内存中的一个存储区域,该区域要有自己的名称(变量名).类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值: 二.变量的使用注意事项: 1.Java中的变量必须声明后 ...
- python常量 变量 数据类型 注释 交互 if语句
1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...
- Go语言学习之2 包、函数、常量、数据类型、字符操作
第一部分:基本数据类型和操作符 1. 文件名&关键字&标识符 (1)所有go源码以.go结尾 (2)标识符以字母或下划线开头,大小写敏感,比如: a. boy b. Bo ...
随机推荐
- Axure(二)
回顾1.Axure 动态面板 图片转换 画面滚动2.使用元件 --> page box 盒子 width height ...
- 本地安装Mysql后,navicat链接异常:Clinet dose not support authentication protocol request by server ; consider upgrading MySQL client
第一步:首先通过cmd进入mysql 在命令窗口 输入:mysql -u root -p: 第二步:更改加密方式 mysql> ALTER USER 'root'@'localhost' IDE ...
- java8学习之收集器用法详解与多级分组和分区
收集器用法详解: 在上次已经系统的阅读了Collector收集器的Javadoc对它已经有一个比较详细的认知了,但是!!!它毕境是只是一个接口,要使用的话还得用它的实现类,所以在Java8中有它进行了 ...
- py实现ftp
https://www.cnblogs.com/wangziyi0513/p/11077323.html 参考原始代码: 修改了一下: 许多网友问中文路径乱码怎么办,我觉得应该讲中文路径转码后再发送. ...
- Mysql配置查询
查看mysql数据库的线程数: show global status like 'Thread%'; 如果我们在MySQL服务器配置文件中设置了thread_cache_size,当客户端断开之后,服 ...
- python 单元测试_unittest(七)
一.unittest中各阶段的核心概念:TestCase, TestSuite, 断言函数, TextTestRunner,TestFixture TestCase:所用用例的基类,软件测试中基本的测 ...
- python基础(变量、基础数据类型、流程控制)
今日内容html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select ...
- Acwing-278-数字组合(背包)
链接: https://www.acwing.com/problem/content/280/ 题意: 给定N个正整数A1,A2,-,AN,从中选出若干个数,使它们的和为M,求有多少种选择方案. 思路 ...
- js 动态加载js 并执行
function loadJS(url, success) { var domScript = document.createElement('script'); domScript.src = ur ...
- Angular 应用的外壳
你首先需要使用 Angular CLI 来创建一个初始化的应用.随后,你将对你已经初始化的应用进行修改来让你构建出 Tour of Heroes app(英雄指南) 这个应用. 在教程的本部分,你需要 ...