自 PHP 8.4.0 起,弃用使用单个下划线 _ 作为类名。一个类可以包含有属于自己的 常量,变量(称为“属性”)以及函数(称为“方法”)。
<?php
class SimpleClass
{
// 声明属性
public $var = 'a default value';
// 声明方法
public function displayVar() {
echo $this->var;
}
}
?>
自 PHP 8.4.0 起,弃用使用单个下划线 _ 作为类名。一个类可以包含有属于自己的 常量,变量(称为“属性”)以及函数(称为“方法”)。
<?php
class SimpleClass
{
// 声明属性
public $var = 'a default value';
// 声明方法
public function displayVar() {
echo $this->var;
}
}
?>
可以使用 const 关键字或 define() 函数两种方法来定义一个常量。个常量一旦被定义,就不能再改变或者取消定义。
重要
在 PHP 8.0.0 之前,使用 define() 定义的常量可能不区分大小写且可以包含保留字或非常规名称的常量。
这类常量可以通过 constant() 函数来获取名称,但是非常不推荐这种用法。
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。
替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。
<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>
函数在实际调用之前,值参数( 实参 )是从左向右求值的(及早求值),并将结果赋值给函数的参数( 形参 )。
函数参数使用尾部逗号
function takes_many_args(
$first_arg,
$second_arg,
$a_very_long_argument_name,
$arg_with_default = 5,
// 在 8.0.0 之前,这个尾部的逗号是不允许的。
$again = 'a default string',
)
{}
例子 | 名称 | 结果 |
---|---|---|
$a & $b | And(按位与) | 将把 $a 和 $b 中都为 1 的位设为 1。 |
$a | $b | Or(按位或) | 将把 $a 和 $b 中任何一个为 1 的位设为 1。 |
$a ^ $b | Xor(按位异或) | 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 |
~ $a | Not(按位取反) | 将 $a 中为 0 的位设为 1,反之亦然。 |
$a << $b | Shift left(左移) | 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 |
$a >> $b | Shift right(右移) | 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 |
变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。
有效的变量名由字母(A-Z、a-z 或 128 到 255 之间的字节)或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。
新的变量简单的引用了原始变量。改动新的变量将影响到原始变量,反之亦然。
<?php
$foo = 'Bob'; // 将 'Bob' 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar;
echo $foo; // $foo 的值也被修改
?>
PHP 的类型系统支持各种原子类型,可以组合在一起创建更加复杂的类型。其中一些类型可以写成类型声明。
PHP 不仅限于输出 HTML。PHP 的功能包括输出丰富的文件类型,例如图像或 PDF 文件、加密数据和发送电子邮件。还可以轻松输出任何文本,例如 JSON 或 XML。PHP 可以自动生成这些文件,并将它们保存在文件系统中,而不是将其打印出来,从而形成动态内容的服务器端缓存。
PHP标记表示了一段可以被PHP解析器解析的代码。