参考 - 这个符号在PHP中的含义是什么?
这是什么?
这是一个关于PHP中语法问题的集合。 这也是一个社区Wiki,所以每个人都被邀请参与维护这个列表。
为什么是这样?
过去很难找到关于运算符和其他语法令牌的问题
主要想法是链接到堆栈溢出的现有问题,所以我们更容易引用它们,而不是复制PHP手册中的内容。
¹注意:自2013年1月以来,Stack Overflow确实支持特殊字符。 只需通过引号括住搜索词,例如[php] "==" vs "==="
我应该在这里做什么?
如果您因为您提出过这样的问题而被某人指向此处,请找到下面的特定语法。 链接到PHP手册的页面以及链接的问题可能会回答你的问题。 如果是这样,你会被鼓励上调答案。 该列表并不意味着替代他人提供的帮助。
列表
如果您的特定标记未在下面列出,您可能会在解析器标记列表中找到它。
&
位运算符或引用
=&
参考
&=
按位运算符
&&
逻辑运算符
%
算术运算符
!!
逻辑运算符
@
错误控制操作员
?:
三元运算符
??
空合并运算符(自PHP 7起)
:
控制结构的替代语法,三元运算符
::
范围分辨率运算符
命名空间
->
类和对象
=>
数组
^
按位运算符
>>
按位运算符
<<
按位运算符”
<<<
Heredoc或Nowdoc
=
赋值运算符
==
比较运算符
===
!==
比较运算符
!=
比较运算符
<>
比较运算符
<=>
(自PHP 7.0起)
|
按位运算符
||
逻辑运算符
~
位运算符
+
算术运算符,数组运算符
+=
和-=
赋值运算符
++
和--
递增/递减运算符
.=
赋值运算符
.
字符串运算符
,
函数参数
,
变量声明
$$
变量变量
`
执行操作员
<?=
短打开标签
[]
数组(PHP 5.4以来的简短语法)
$var = []
空数组 <?
打开和关闭标签
...
参数解包(自PHP 5.6开始)
**
指数(自PHP 5.6起)
#
单行shell风格的评论
增量/减量运算符
++
增量运算符
--
递减运算符
Example Name Effect
---------------------------------------------------------------------
++$a Pre-increment Increments $a by one, then returns $a.
$a++ Post-increment Returns $a, then increments $a by one.
--$a Pre-decrement Decrements $a by one, then returns $a.
$a-- Post-decrement Returns $a, then decrements $a by one.
这些可以在变量之前或之后进行。
如果变量之前说,该递增/递减操作完成的第一变量,则返回的结果。 如果放在变量之后,则首先返回变量,然后完成增量/减量操作。
例如:
$apples = 10;
for ($i = 0; $i < 10; ++$i) {
echo 'I have ' . $apples-- . " apples. I just ate one.n";
}
现场示例
在上面的情况下使用++$i
,因为它更快。 $i++
会有相同的结果。
预增加速度要快一点,因为它实际上增加了变量,之后“返回”结果。 增量后创建一个特殊变量,在那里复制第一个变量的值,并且仅在使用第一个变量后,用第二个变量替换它的值。
但是,您必须使用$apples--
,因为首先您要显示当前的苹果数量, 然后您想从中减去一个。
你也可以在PHP中增加字母:
$i = "a";
while ($i < "c") {
echo $i++;
}
一旦z
到达, aa
就是下一个,依此类推。
请注意,字符变量可以递增但不递减,即使只有纯ASCII字符(az和AZ)也受支持。
Stack Overflow帖子:
位运算符
有点什么? 一位表示1或0.基本上OFF(0)和ON(1)
什么是字节? 一个字节由8位构成,一个字节的最高值为255,这意味着每一位都被设置。 我们将看看为什么一个字节的最大值是255。
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
1字节的表示
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255(1字节)
几个例子可以更好的理解
“与”运算符: &
$a = 9;
$b = 10;
echo $a & $b;
这会输出数字8.为什么? 那么让我们看看使用我们的表格示例。
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
| $a | 0| 0| 0| 0| 1| 0| 0| 1|
-------------------------------------------
| $b | 0| 0| 0| 0| 1| 0| 1| 0|
-------------------------------------------
| & | 0| 0| 0| 0| 1| 0| 0| 0|
-------------------------------------------
所以你可以从表中看到他们共享的唯一一点是8位。
第二个例子
$a = 36;
$b = 103;
echo $a & $b; // This would output the number 36.
$a = 00100100
$b = 01100111
两个共享位是32和4,当它们相加时返回36。
“Or”运算符: |
$a = 9;
$b = 10;
echo $a | $b;
这会输出数字11.为什么?
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
| $a | 0| 0| 0| 0| 1| 0| 0| 1|
-------------------------------------------
| $b | 0| 0| 0| 0| 1| 0| 1| 0|
-------------------------------------------
| | | 0| 0| 0| 0| 1| 0| 1| 1|
-------------------------------------------
你会注意到我们有8位,2位和1位设置了3位。 加起来:8 + 2 + 1 = 11。
_
gettext()的别名
_()
的下划线字符'_'是gettext()
函数的别名。