PHP基础回顾
- 变量:声明变量以$开始,变量名可以用中文但是不要用;不能使用特殊字符,比如@,下划线除外;变量名区分大小写。
可变变量 $a = b; $b = c; => $$a = c; 理论上$可以无限使用,但是正常最多使用两个。 - 十六进制:0x开头,八进制:0开头,二进制:0b开头。
- 变量类型:int 包括0、正整数、负整数; float:3.00、3e2、都是浮点数。字符串:单引号、双引号、定界符声明的都是字符串。
- 单引号双引号区别:解析转义字符;解析变量;能用单引号就用单引号(效率比双引号高),大段文本才考虑使用定界符。
- bool值,使用echo输出bool值,false不显示,true显示1.
- null :未赋值的变量、被unset删除的变量、
- 和变量相关的3个功能:删除变量的unset()、检测变量isset()、empty()【资源和对象都不为空】
- 获取数据类型:gettype()可以获取八种数据类型,但是效率低。可以使用is_int() is_float() 等等 is_numeric()检测是否是数字(int、float、纯数字字符串)is_scalar()检测是否是标量。
- 数据类型转换:自动转换和强制转换。自动转换只限于标量。转换过程中向着更精确的数据类型转换。强制转换:(int)$var; 对象和null无法转换,其他都可以。(resource)$var;//不行
intval($var);stringval($var);等 settype($var,'int'); - 常量 define('NAME','shazi'); 第三个参数设置为true时,不区分大小写,默认false区分大小写。 常量的值 只能是 标量。PHP版本7以后,常量的值可以是数组。
也可以使用 const NAME='shazi'; - const和define区别:const不能在流程控制中使用,define在任何地方都可以使用。选择的话,就是在类中声明常量使用const,其他地方都使用define就行。
- 系统的魔术常量:__FILE__ 表示当前文件相对于系统的绝对路径
__LINE__ 表示__LINE__常量所在的行
__FUNCTION__ 在函数中使用获取当前函数名
__CLASS__ 在类中使用,获取当前类名
__METHOD__ 在类的方法中使用获取当前方法名 - 获取常量值:constant('NAME'); get_defined_constants();获取当前定义的所有常量集合(包括页面中的,系统自带的常量) defined()检测一个常量是否被定义
- 自增自减运算符对bool值无效。
- 异或 xor 相同为假 不同为真; 逻辑非 ! 或者 not。
- 按位异或 ^ ;按位非 ~ 。
- 错误一直符:@ 命令执行符:反引号 ` ` 用于执行系统命令。
echo 'jjjj','nnn'; //echo 可以用逗号将字符串隔开,而print必须使用字符串连接符“ . ”。
print 'sss'.'aaa';- PHP 7.0.0 起,NaN 和 Infinity 在转换成 integer 时,不再是 undefined 或者依赖于平台,而是都会变成零。
- 以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999999991118...。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。比较两个浮点数是否相等是有问题的。不过还是有迂回的方法来比较浮点数值的。
- heredoc结构 <<< EOF后面绝对不可以有空格或其他空白字符,不然会报错,要直接换行!!!!!
PHP基础回顾的更多相关文章
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- 1、java基础回顾与加强
一. 基础回顾 1 集合 1.1 集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, ...
- C#基础回顾:正则表达式
C#基础回顾:正则表达式 写在前面:本文根据笔者的学习体会结合相关书籍资料对正则表达式的语法和使用(C#)进行基本的介绍.适用于初学者. 摘要:正则表达式(Regular Expressions),相 ...
- 【Spring学习】【Java基础回顾-数据类型】
Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
随机推荐
- spring data 返回任意字段
在spring boot + spring data查询数据库的过程中,有时候总会出现一些复杂的查询,我们希望数据库返回的字段能随意改变.这个需求在mybatis里很好解决,只需要用map接收就可以, ...
- Java基础(十)
复习 静态方法与成员方法 //另一个类里的静态和成员方法 public class MyClass { //静态方法 public static void method2() { System.out ...
- azkaban安装步骤
安装包 1.得到软件包 azkaban-executor-server-2.5.0.tar.gz azkaban-sql-script-2.5.0.tar.gz azkaban-web-server- ...
- postman 获取登录成功后存在在header中cookies,并在下一个接口中使用。
1.首先登录成功 2.在tests中添加脚本 3.添加环境变量 4.配置环境变量和引用值 5.请求第二个接口成功
- python基础_面向对象进阶
@property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效.我 ...
- 如何在LinuxKernel中操作file(set_fs與get_fs)
在Kernel 中,照理說能存取至 0 ~ 4GB.但是實作層面卻是只能讓我們使用到3GB ~ 4GB 這會導致我們無法使用open(),write()這些在user space下的function. ...
- python中的并发执行
一. Gevent实例 import gevent import requests from gevent import monkey # socket发送请求以后就会进入等待状态,gevent更改了 ...
- js数据结构-链表
链表和数组 大家都用过js中的数组,数组其实是一种线性表的顺序存储结构,它的特点是用一组地址连续的存储单元依次存储数据元素.而它的缺点也正是其特点而造成,比如对数组做删除或者插入的时候,可能需要移动大 ...
- vue-router动态路由设置参数可选
在日常工作中,我们需要将匹配到的所有路由,映射到一个组件上. 如下代码想要达到的效果: 不传page和id,则映射到user默认list页面 传page和id,根据page不同,显示不同的页面 问题 ...
- Android开发build出现java.lang.NumberFormatException: For input string: "tle 0x7f0800aa"错误的解决方案
查看异常栈没有发现项目代码的问题,因为问题是出现在layout文件中. 全局查找tle这个,发现在某个layout文件中title一词被变成ti tle了,结果Android就xjb报错了. 参考