从此开始,以后的内容均学习自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
本身 所有其它值都被认为是 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 引入的文件。
魔术常量。。。。。。
原文:https://www.cnblogs.com/carlzhang19/p/14346278.html