Heim > Fragen und Antworten > Hauptteil
Dies ist eine Sammlung von Fragen zur PHP-Syntax, die von Zeit zu Zeit auftauchen. Dies ist auch ein Community-Wiki, daher ist jeder eingeladen, sich an der Pflege dieser Liste zu beteiligen.
Früher war es schwierig, Fragen zu Operatoren und anderen Syntaxmarkierungen zu finden. ¹
Die Hauptidee besteht darin, Links zu vorhandenen Fragen zu Stack Overflow bereitzustellen, damit wir leichter darauf verweisen können, anstatt Inhalte aus dem PHP-Handbuch zu kopieren.
Hinweis: Seit Januar 2013 unterstützt Stack Overflow Sonderzeichen. Setzen Sie Ihren Suchbegriff einfach in Anführungszeichen, z. B. [php]“==”与“===”
Wenn Sie von jemandem hierher verwiesen wurden, weil Sie eine Frage wie diese gestellt haben, achten Sie unten auf die spezifische Syntax. Die verlinkte Seite des PHP-Handbuchs und die verlinkte Frage könnten Ihre Frage beantworten. Wenn ja, empfehlen wir Ihnen, für die Antwort zu stimmen. Diese Liste ist kein Ersatz für die Hilfe anderer.
Wenn Ihr spezifisches Token unten nicht aufgeführt ist, finden Sie es möglicherweise in der Parser-Token-Liste.
&
Bitoperatoren oder Referenzen
=&
Referenzen
&=
bitweise Operatoren
&&
Logische Operatoren
%
Arithmetische Operatoren
!!
Logische Operatoren
@
Fehlerkontrolloperator
?:
Ternärer Operator
Doppeltes Fragezeichen
??
Null-Koaleszenzoperator (seit PHP 7)
Fragezeichen gefolgt von Typdeklaration
?string
?int
?array
?bool
?float
Nullable-Typdeklaration (seit PHP 7.1)
?->
Ein Fragezeichen gefolgt von einem Objektoperator ist der NullSafe-Operator (seit PHP 8.0)
:
Alternative Syntax für Kontrollstrukturen, ternäre Operatoren, Rückgabetypdeklarationen
::
Bereichsauflösungsoperator
Namensraum
->
Klassen und Objekte
=>
Array
^
bitweise Operatoren
>>
bitweise Operatoren
<<
bitweise Operatoren
<<<
Heredoc oder Nowdoc
=
Zuweisungsoperator
==
Vergleichsoperatoren
===
Vergleichsoperatoren
!==
Vergleichsoperatoren
!=
Vergleichsoperatoren
<>
Vergleichsoperatoren
<=>
Vergleichsoperatoren (seit PHP 7.0)
|
bitweise Operatoren
||
Logische Operatoren
~
bitweise Operatoren
+
Arithmetische Operatoren, Array-Operatoren
+=
和 -=
Zuweisungsoperator
++
和 --
Operator zum Erhöhen/Verringern
.=
Zuweisungsoperator
.
String-Operatoren
,
Funktionsparameter
,
Variablendeklaration
$$
VariablenVariablen
Ausführungsoperator`
Kurzes offenes Tag<?=
Array (kurze Syntax seit PHP 5.4) []
$var = []
Tags öffnen und schließen<?
Doppelpunkt-Zeichenbereich..
Parameter-Entpacken (seit PHP 5.6) ...
Potenzierung (seit PHP 5.6)**
Einzeiliger Kommentar im Shell-Stil#
Eigenschaften (seit PHP 8) #[]
P粉2983052662023-10-11 11:48:43
什么是一点?位代表 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。
|
$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。
P粉3453027532023-10-11 00:19:04
递增/递减运算符< /p>
++
增量运算符
--
自减运算符
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
,依此类推。
堆栈溢出帖子: