PHP语言参考
从此开始,以后的内容均学习自PHP手册(https://www.php.net/manual/zh)
基本语法
当解析一个文件时,PHP 会寻找起始和结束标记,也就是php和,这告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。如果文件内容仅仅包含 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。
最佳实践是php文件在开头写php,不写结束标记。
如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用php标记以保持符合标准。
PHP 需要在每个语句后用分号结束指令。一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。
类型
PHP支持10种原始数据类型
四种标量类型: bool, int, float, string
四种复合类型:array, object, callable(可调用), iterable(可迭代)
两种特殊类型:resource(资源),NULL(无类型)
如果想查看某个表达式的值和类型,用var_dump()函数。
如果只是想得到一个易读懂的类型的表达方式用于调试,用gettype()函数。要检验某个类型,不要用gettype(),而用is_type函数。
Boolean 布尔类型
boolean表达了真值,可以为true或false。要明确地将一个值转换成boolean,用(bool)或者(boolean)来强制转换。
当转换为boolean时,以下值被认为是false:
布尔值false本身
整型值 0(零)及 -0 (零)
浮点型值 0.0(零)-0.0(零)
空字符串,以及字符串"0"
不包括任何元素的数组
特殊类型NULL(包括尚未赋值的变量)
从空标记生成的SimpleXML对象
所有其它值都被认为是true(包括任何资源和NAN)。
Integer 整型
Integer是集合 ? = {..., -2, -1, 0, 1, 2, ...} 中的某个数。整型值可以使用十进制,十六进制,八进制或二进制表示。要使用八进制表达,数字前必须加上0(零)。要使用十六进制表达,数字前必须加上0x。要使用二进制表达,数字前必须加上0b。
Float 浮点型
浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度。
String 字符串
一个字符串string就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。
单引号-定义一个字符串的最简单的方法是用单引号把它包围起来(字符')。
双引号-用双引号定义的字符串最重要的特征是变量会被解析。
Array 数组
PHP 中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。
Object 对象
对象初始化--要创建一个新的对象object,使用new语句实例化一个类:
Iterable 可迭代对象
Iterable是 PHP 7.1 中引入的一个伪类型。它接受任何array或实现了Traversable接口的对象。这些类型都能用foreach迭代, 也可以和生成器里的yield from一起使用。可迭代对象可以用作参数类型,表示函数需要一组值, 但是不会关心值集的形式,因为它将与foreach一起使用。如果一个值不是数组或Traversable的实例,则会抛出一个TypeError。
Callback / Callable 类型
自 PHP 5.4 起可用callable类型指定回调类型 callback。本文档基于同样理由使用callback类型信息。一些函数如call_user_func()或usort()可以接受用户自定义的回调函数作为参数。回调函数不止可以是简单函数,还可以是对象的方法,包括静态类方法。PHP是将函数以string形式传递的。
Resource 资源类型
资源resource是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。所有这些函数及其相应资源类型见附录。
NULL
特殊的null值表示一个变量没有值。NULL类型唯一可能的值就是null。
变量
预定义变量
PHP 提供了大量的预定义变量。
变量范围
变量的范围即它定义的上下文背景(也就是它的生效范围)。大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件。
常量
魔术常量。。。。。。
PHP语言参考 相关文章
MySQL学习笔记-3
DML数据操纵语言 1.1 向表中插入数据 关键字 insert ① 写法1 insert into tab_name [(字段1,字段2,...)]values (v1,v2,...)[,(v1,v2,...),... ]; (字段1,字段2,...)必须与(v1,v2,...)在数量,类型上一一对应。 (字段1,字段2,...)可以省略,当然此时后
Go语言中的接口
在一些面向对象的编程语言中,例如 Java、PHP 等,接口定义了对象的行为,只指定了对象应该做什么。行为的具体实现取决于对象。 在 Go 语言中,接口是一组方法的集合,但不包含方法的实现、是抽象的,接口中也不能包含变量。当一个类型 T 提供了接口中所有方
Go语言中的切片
切片(Slice)是一个拥有相同类型元素的可变长度的序列,他是基于数组做的一层分装,有点类似于Java中的集合框架。相较于数组,他更加灵活,可自动扩容 切片是一个引用类型,他的内部结构包括 地址 、 长度 和 容量 。切片一般用于快速地操作一块数据集合。
Go语言中的指针
与 Java 和 .NET 等编程语言不同,Go语言为程序员提供了控制数据结构指针的能力,但是,并不能进行指针运算。Go语言允许你控制特定集合的数据结构、分配的数量以及内存访问模式,这对于构建运行良好的系统是非常重要的。指针对于性能的影响不言而喻,如果你
Go语言中的map
Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 创建一个map 创建一个map类型时需要用 make 函数 package mainimport "fmt"func main() {m1 := make(map[string]int, 10)m1["a"] = 1m1["b"] = 2fmt.Println(m1)} 如果直接使用赋值的形式
linux 异步信号的同步处理方式
参考博客https://www.cnblogs.com/jiangzhaowei/p/4193283.html #include signal.h#include errno.h#include pthread.h#include unistd.h#include sys/types.h#include stdio.h#include stdlib.h#include string.hvoid sig_handler(int signum){ static int
vue实现汉字转拼音
参考大佬https://blog.csdn.net/yin4302008/article/details/86698478depth_1-utm_source=distribute.pc_relevant.none-taskutm_source=distribute.pc_relevant.none-task 1.建文件const.js export const pinyin = { 'a': '\u554a\u963f\u9515', 'ai': '\u57
对象赋值在PHP中到底是不是引用
之前的文章中,我们说过变量赋值的问题,其中有一个问题是对象在进行变量赋值的时候,直接就是引用赋值。那么到底真实情况是怎样呢 之前变量赋值的文章 PHP的变量赋值 对象引用测试 在继续深入的学习PHP手册后,发现原来对象还真不是直接的引用复制。通过下
如何把 Gin 项目部署到服务器
Gin 是什么 Gin 是基于 Go 语言开发的 一款 Web 框架,它是类Martini的 API,但性能据说是 Martini 的 40x。 21云盒提供了极简单的 Gin 项目部署方法,你可以在21云盒子上通过以 Go 运行环境的方式进行部署。 如何把 Go Gin 项目部署到服务器 注册成为21云盒
[Abp vNext微服务实践] - 添加中文语言
简介# abp vNext中提供了多语言功能,默认语言是英文,没有提供中文语言包。在业务开发中,定义权限后需要用中文的备注提供角色选择,本篇将介绍如何在abp vNext中加入中文语言。 step1:添加zh.json中文包# 在Abp vNext微服务架构的modules/product/src/Prod