# PHP 语法结构

> 原文： [https://zetcode.com/lang/php/lexis/](https://zetcode.com/lang/php/lexis/)

像人类语言一样，计算机语言也具有词汇结构。 PHP 脚本的源代码由令牌组成。 令牌是原子代码元素。 在 PHP 语言中，我们具有注释，变量，字面值，运算符，定界符和关键字。

## PHP 注释

注释被人类用来阐明源代码。 PHP 中的所有注释均以`#`字符结尾。

```php
<?php

# comments.php
# Author Jan Bodnar
# ZetCode 2016

echo "This is comments.php script\n";

```

PHP 解释器将忽略`#`字符后的所有内容。

```php
// comments.php
// author Jan Bodnar
// ZetCode 2016

/*
 comments.php
 author Jan Bodnar
 ZetCode 2016
*/

```

PHP 还可以识别来自 C 语言的注释。

## PHP 空白字符

PHP 中的空白字符用于分隔 PHP 源文件中的标记。 它用于提高源代码的可读性。

```php
public $isRunning;

```

在某些地方需要空格。 例如在访问说明符和变量名之间。 在其他地方，这是禁止的。 它不能出现在变量标识符中。

```php
$a=1;
$b = 2;
$c  =  3;

```

标记之间放置的空间量与 PHP 解释器无关。 它基于程序员的喜好和风格。

```php
$a = 1;
$b = 2; $c = 3;
$d 
  = 
   4;

```

我们可以将两个语句放在一行中。 或将一条语句分成三行。 但是，源代码应该是人类可读的。 存在有关如何布置源代码的公认标准。

## PHP 分号

分号用于标记 PHP 语句的结尾。 这是强制性的。

```php
$a = 34;
$b = $a * 34 - 34;
echo $a;

```

在这里，我们有三个不同的 PHP 语句。 首先是一项任务。 它将一个值放入`$a`变量。 第二个是表达式。 计算表达式并将输出提供给`$b`变量。 第三个是命令。 打印`$a`变量。

## PHP 变量

`variable`是一个标识符，它保存一个值。 在编程中，我们说我们为变量分配了一个值。 从技术上讲，变量是对存储值的计算机内存的引用。 在 PHP 语言中，变量可以包含字符串，数字或各种对象，例如函数或类。 可以随时间为变量分配不同的值。

PHP 中的变量由`$`字符（称为符号）和标签组成。 可以使用字母数字字符和下划线`_`字符创建标签。 变量不能以数字开头。 然后，PHP 解释器可以更轻松地区分数字和变量。

```php
$Value
$value2
$company_name

```

这些是有效的 PHP 标识符。

```php
$12Val
$exx$
$first-name

```

这些是无效的 PHP 标识符的示例。

变量为区分大小写。 这意味着`$Price`，`$price`和`$PRICE`是三个不同的标识符。

`case.php`

```php
<?php

$number = 10;
$Number = 11;
$NUMBER = 12;

echo $number, $Number, $NUMBER;

echo "\n";

```

在脚本中，我们将三个数值分配给三个变量并打印出来。 但是，出于清楚的原因，不建议创建仅在大小写不同的变量。 这被认为是不好的做法。

```php
$ php case.php 
101112

```

这是脚本的输出。

## PHP 常量

常量是在脚本执行期间不能更改的值的标识符。 按照约定，常量标识符始终为大写。

`constants.php`

```php
<?php

define("SIZE", 300); 
define("EDGE", 100); 

#SIZE = 100;

echo SIZE;
echo EDGE;

echo "\n";

```

在脚本中，我们定义了两个常量。

```php
define("SIZE", 300); 
define("EDGE", 100);

```

常量是使用`define()`函数创建的。

```php
# SIZE = 100;

```

常量与变量不同。 我们不能为现有常量分配其他值。 如果我们取消注释该行，脚本将失败。

```php
echo SIZE;
echo EDGE;

```

常量不使用美元符号。

```php
$ php constants.php 
300100

```

这是`constants`脚本的输出。

以下是 PHP 编译时间常数的列表。

```php
__CLASS__    __DIR__       __FILE__    __FUNCTION__ 
__METHOD__   __NAMESPACE__ 

```

## PHP 字面值

`literal`是表示 PHP 源代码中的值的任何符号。 从技术上讲，字面值是在编译时分配一个值的，而变量是在运行时分配的。

```php
$age = 29;
$nationality = "Hungarian";

```

在这里，我们为变量分配了两个字面值。 数字 29 和字符串`"Hungarian"`是字面值。

`literals.php`

```php
<?php

$name1 = "Jane ";
$age1 = 17;

$name2 = "Rose ";
$age2 = 16;

echo "Patrick 34\n";
echo "Luke 22\n";

echo $name1, $age1, "\n";
echo $name2, $age2, "\n";

```

如果我们不为变量分配字面值，则无法使用它-删除它。

```php
$ php literals.php
Patrick 34
Luke 22
Jane 17
Rose 16

```

这是`literals.php`脚本的输出。

## PHP 运算符

`operator`是用于对某个值执行操作的符号。

```php
+    -    *    /    %  **  ++   --  ?:  ??
=    +=   -=   *=   /=   .=    %=
==   !=  ===  !==  <>  >  <  >=  <=  <=>
&&   ||   !   xor   or    
&    ^    |   ~   .   <<   >>   

```

这些是 PHP 运算符。 我们将在本教程的后面部分讨论运算符。

## PHP 分隔符

`delimiter`是一个或多个字符的序列，用于指定纯文本或其他数据流中单独的独立区域之间的边界。

```php
$a = "PHP";
$b = 'Java';

```

单字符和双字符用于标记字符串的开头和结尾。

```php
function setDate($date) {

    $this->date = $data;
}

if ($a > $b) {

    echo "\$a is bigger than \$b";
}

```

括号用于标记函数签名。 签名是函数参数。 圆括号用于标记函数主体的开始和结束。 它们还用于控制流。

```php
$a = array(1, 2, 3);
echo $a[1];

```

方括号用于标记数组索引。

```php
/*
 Author Jan Bodnar
 January 2019
 ZetCode
*/

```

`/**/`分隔符用于在 PHP 中提供 C 样式注释。

```php
<?php
// PHP code

```

`<?php`分隔符用于声明 PHP 代码的开始。

## PHP 关键字

关键字是 PHP 编程语言中的保留字。 关键字用于在计算机程序中执行特定任务； 例如，打印值，执行重复性任务或执行逻辑操作。 程序员不能将关键字用作普通变量。

以下是 PHP 关键字的列表。

```php
abstract    and          array()     as          break
case        catch        class       clone       const  
continue    declare      default     do          else
elseif      enddeclare   endfor      endforeach  endif
endswitch   endwhile     extends     final       for 
foreach     function     global      goto        if  
implements  interface    instanceof  namespace   new   
or          private      protected   public      static
switch      throw        try         use         var 
while       xor          yield       yield from

```

接下来，我们还有其他语言构造。

```php
die()           echo()          empty()     exit()      eval()
include()       include_once()  isset()     list()      require()
require_once()  return()        print()     unset()     

```

在 PHP 教程的这一部分中，我们介绍了 PHP 语言的基本词汇结构。