内容来自 DOC https://q.houxu6.top/?s=参考指南:这个符号在PHP中是什么意思?(PHP语法)
这是什么?
这是一个关于PHP语法的常见问题集合。这也是一个社区维基,所以每个人都被邀请参与维护这个列表。
为什么这样做?
以前,找到关于运算符和其他语法标记的问题很困难。主要的想法是在这里提供指向Stack Overflow上现有问题的链接,这样我们更容易引用它们,而不是从PHP手册复制内容。
注意:自2013年1月起,Stack Overflow支持特殊字符。(https://meta.stackexchange.com/questions/160100/a-new-search-engine-for-stack-exchange)只需将搜索词用引号包围,例如[php] "==" vs "==="
我应该在这里做什么?
如果你因为问了这样一个问题而被其他人指出,请找到下面的特定语法。指向PHP手册的链接以及附带的问题可能会回答你的问题。如果是这样,我们鼓励你投票赞成答案。这个列表并不是为了替代他人提供的帮助。
列表
如果你的特定标记没有列在下面,你可能会在解析器标记列表中找到它。
- 开始PHP函数时使用ampersand的含义是什么?
- 理解PHP & (ampersand, bitwise and)运算符
- PHP "&"运算符
- PHP中&和&&的区别
- 这里PHP中的"&"是什么意思?
- 这里的签名&是什么意思(&)
- PHP中&符号的意思是什么?
- 这里的&2是什么意思?(&)
- 何时应该使用位运算符?
- 在对象前使用ampersand有必要吗? (&$)
=&
引用
&=
位运算符
&&
逻辑运算符
- 'AND' vs '&&' as operator
- PHP中"and"和"&&"运算符之间的区别
- PHP中"and"和"&&"运算符之间有什么区别?
- PHP - and / or关键词
- PHP中的百分号是什么意思?
- PHP中的百分号和如何使用它的真实示例?
!!
逻辑运算符
@
错误控制运算符
?:
三元运算符
双问号
??
空合并运算符 (自PHP 7起)
问号后跟类型声明
?string
?int
?array
?bool
?float
可空类型声明 (自PHP 7.1起)
?->
问号后跟对象运算符是NullSafe Operator (自PHP 8.0起)
- PHP中冒号的意义是什么?
- PHP标记名称T_PAAMAYIM_NEKUDOTAYIM的意义是什么?
- PHP中双冒号和箭头之间的区别是什么?
- PHP中延迟静态绑定的确切含义是什么?
- static::staticFunctionName()
- 意外的T_PAAMAYIM_NEKUDOTAYIM,期望T_NS_Separator
\
命名空间
=>
数组
^
位运算符
>>
位运算符
<<
位运算符
<<<
heredoc或nowdoc
=
赋值运算符
==
比较运算符
- PHP中的等价(== double equals)和恒等(=== triple equals)比较运算符有什么区别?
- PHP != 和 == 运算符
- 这3种不同的等于
- PHP中类型转换和(严格的)大于/小于比较
===
比较运算符
- PHP中"==="是什么意思?
- PHP中的等价(== double equals)和恒等(=== triple equals)比较运算符有什么区别?
- 这3种不同的等于
- PHP中类型转换和(严格的)大于/小于比较
!==
比较运算符
<=>
比较运算符 (自 PHP 7.0)
|
位运算符
||
逻辑运算符
~
位运算符
+=
和 -=
赋值运算符
++
和 --
递增/递减运算符
.=
赋值运算符
,
函数参数
,
变量声明
$$
变量变量
[执行操作符](http://php.net/manual/en/language.operators.execution.php)
* [反引号``被称为什么?](https://stackoverflow.com/questions/6002296)
---
`<?=` [短标签](http://php.net/manual/en/ini.core.php#ini.short-open-tag)
* [这个符号在PHP中<?=是什么意思?](https://stackoverflow.com/questions/1963901)
* [PHP中的'<?='是什么意思?](https://stackoverflow.com/questions/2020445)
* [在PHP中,<?=是什么意思?](https://stackoverflow.com/questions/1959256/what-does-mean)
---
`[]` [数组](http://secure.php.net/manual/en/language.types.array.php) (PHP 5.4以来的简写语法)
* [PHP数组...空括号的含义是什么?](https://stackoverflow.com/q/20709055/2758197)
* [[]的意义是什么?](https://stackoverflow.com/questions/6933345)
* [PHP array_push()与myArray[]的区别是什么?](https://stackoverflow.com/questions/2431629)
* [从PHP数组中读取时,[]是什么意思?](https://stackoverflow.com/questions/3908576)
* [使用字面量`$var = []`创建空数组的简写方式是什么?](https://stackoverflow.com/questions/4271874)
---
`<?` [开始和结束标签](http://secure.php.net/manual/en/language.basic-syntax.php)
* [PHP短标签是否可接受使用?](https://stackoverflow.com/questions/200640)
---
`..` 双点字符范围
* [允许使用双点字符范围语法的原生PHP函数有哪些?](https://stackoverflow.com/q/72865138/2943403)
---
`...` [参数解包](http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list) (自PHP 5.6起)
---
`**` [指数运算](http://secure.php.net/manual/en/migration56.new-features.php#migration56.new-features.exponentiation) (自PHP 5.6起)
---
`#` [单行shell风格注释](http://php.net/manual/en/language.basic-syntax.comments.php)
* [PHP中可以使用哈希作为注释吗?](https://stackoverflow.com/questions/9093609/can-i-use-hashes-for-comments-in-php)
---
`#[]` [属性](https://stackoverflow.com/a/71641821/6660678) (自PHP 8起)
---
---
**[增加/减少操作符](http://php.net/manual/en/language.operators.increment.php)**
`++` 增加操作符
`--` 减少操作符
示例 名称 效果
++$a 前置增加 将 $a 增加 1,然后返回 $a。
$a++ 后置增加 返回 $a,然后增加 $a 1。
--$a 前置减少 将 $a 减少 1,然后返回 $a。
$a-- 后置减少 返回 $a,然后减少 $a 1。
这些操作符可以放在变量前面或后面。
如果放在变量前面,增加/减少操作会先作用于变量,然后返回结果。如果放在变量后面,首先返回变量,然后进行增加/减少操作。
例如:
$apples = 10;
for ($i = 0; $i < 10; ++$i) {
echo '我还有 ' . $apples-- . " 个苹果。我刚吃了一个。\n";
}
**[在线示例](http://codepad.org/5ZD3j0xb)**
在上面的例子中,使用了 `++$i`,因为它更快。`$i++` 也会产生相同的结果。
前置增加稍微快一些,因为它真正地增加了变量的值,然后再返回结果。后置增加会创建一个特殊变量,将第一个变量的值复制到那里,然后在使用第一个变量之后,用第二个变量的值替换它。
然而,你必须使用 `$apples--`,因为你首先想要显示当前的苹果数量,然后再减去一个。
你也可以在 PHP 中增加字母:
$i = "a";
while ($i < "c") {
echo $i++;
}
一旦达到 `z`,下一个就是 `aa`,以此类推。
> 注意,字符变量可以被增加,但不能减少,即使这样,也只有简单的 ASCII 字符(a-z 和 A-Z)被支持。
>
>
>
---
**Stack Overflow 帖子:**
* **[理解增加操作符](https://stackoverflow.com/questions/1968371/understanding-incrementing)**