多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# PHP 基础 > 原文: [https://zetcode.com/lang/php/basics/](https://zetcode.com/lang/php/basics/) 在 PHP 教程的这一部分中,我们讨论 PHP 的基本编程。 所有 PHP 代码都由两个定界符`<?php`和`?>`包围。 ```php <?php # PHP code ``` PHP 代码放在两个定界符之间。 ## PHP 控制台输出 我们的 PHP 脚本的输出将发送到控制台。 注意我们之所以说控制台,是因为这里我们使用`PHP_CLI`命令行解释器。 如果我们在网络上测试这些示例,则输出将发送到浏览器。 `printing.php` ```php <?php $a = 23; print $a; ``` 该 PHP 脚本为变量分配值。 它将打印到控制台。 ```php $a = 23; ``` 我们为`$a`变量分配一个值 23。 每个变量都以美元字符开头。 此 PHP 代码行是一条语句。 每个语句以分号结尾。 在 PHP 中,分号不是像 JavaScript 或 Ruby 中那样可选的。 他们是必须的。 ```php print $a; ``` 我们将`$a`变量打印到控制台。 `print`关键字不会在输出中添加新行。 如果要换行,则必须手动放置。 `print`关键字仅接受一个参数。 `echoing.php` ```php <?php $a = 23; $b = 24; echo $a, "\n", $b, "\n"; ``` 在此脚本中,我们使用`echo`关键字。 它类似于`print`关键字。 与`print`关键字不同,它可以采用多个参数。 ```php $a = 23; $b = 24; ``` 我们定义两个变量。 ```php echo $a, "\n", $b, "\n"; ``` 我们将变量打印到控制台。 我们还包括换行符。 参数可以用逗号分隔。 ```php $ php echoing.php 23 24 ``` 这是脚本的输出。 ## PHP 命令行参数 PHP 脚本可以接收命令行参数。 它们遵循程序的名称。 `$argv`是一个包含 PHP 脚本的所有参数的数组。 `$argc`保留传递的参数数量,包括 PHP 脚本的名称。 `arguments.php` ```php <?php echo "There are $argc arguments\n"; for ($i=0; $i < $argc; $i++) { echo $argv[$i] . "\n"; } ``` 该脚本与命令行参数一起使用。 ```php echo "There are $argc arguments\n"; ``` 我们打印传递给脚本的参数数量。 ```php for ($i=0; $i < $argc; $i++) { echo $argv[$i] . "\n"; } ``` 在`for`循环中,我们遍历并打印所有参数。 循环将在本教程的后面部分介绍。 ```php $ php arguments.php 1 2 3 There are 4 arguments arguments.php 1 2 3 ``` 我们将三个参数传递给脚本。 脚本的名称也是 PHP 脚本的参数。 ## PHP 类型 PHP 是一种弱类型语言。 它适用于类型,但是程序员在声明变量时不指定它们。 数据类型是多种类型的数据之一,如`double`,`integer`或`boolean`。 某种数据类型的值来自特定范围的值,这些值说明该类型的可能值,对该类型可以执行的操作以及该类型的值的存储方式。 PHP 与数据类型隐式地工作。 程序员没有明确指定数据类型。 `dynamic.php` ```php <?php $a = "Jane"; echo "$a \n"; $a = 12; echo "$a \n"; $a = 56.4; echo "$a \n"; $a = true; echo "$a \n"; ``` 在此 PHP 脚本中,我们有一个`$a`变量。 首先,我们给它分配一个字符串,然后是一个整数,一个双精度数,最后是一个布尔值。 如果我们将字符串分配给变量,PHP 会自动创建一个字符串变量。 ```php $ php dynamic.php Jane 12 56.4 1 ``` 运行脚本,我们得到此输出。 `gettype.php` ```php <?php $temperature = 12.4; $name = "Jane"; $age = 17; $values = array(1, 2, 3, 4, 5, 6); class Being {}; $somebody = new Being(); echo gettype($temperature), "\n"; echo gettype($name), "\n"; echo gettype($age), "\n"; echo gettype($values), "\n"; echo gettype($somebody), "\n"; ``` 在上面的 PHP 脚本中,我们动态创建了五种类型。 ```php $temperature = 12.4; ``` 定义了一个双变量。 ```php $name = "Jane"; ``` 定义了一个字符串变量。 ```php $age = 17; ``` 定义了一个整数变量。 ```php $values = array(1, 2, 3, 4, 5, 6); class Being {}; ``` 这是一个数组和一个类。 稍后将更详细地介绍这两种类型。 ```php echo gettype($temperature), "\n"; ``` `gettype()`函数返回相关变量的类型。 ```php $ php gettype.php double string integer array object ``` 该脚本列出了 PHP 的基本类型。 ## PHP 常量 在 PHP 中,我们可以创建常量。 常量是值的名称,与变量不同,该值不能与其他值重新关联。 我们使用`define()`函数在 PHP 中创建常量。 `constants.php` ```php <?php define("BLUE", "0000FF"); echo BLUE, "\n"; echo defined("BLUE"); echo "\n"; ``` 在此 PHP 脚本中,我们定义一个`BLUE`常量。 ```php define("BLUE", "0000FF"); ``` 在这里,我们定义`BLUE`常数。 按照惯例,用大写字母写常量。 ```php echo BLUE, "\n"; ``` 在这里我们使用它。 请注意,常量前面没有`$`美元字符。 ```php echo defined("BLUE"); ``` 我们使用了另一个功能`defined()`函数。 它检查是否存在特定常数。 如果是,则返回`true`。 ```php $ php constant.php 0000FF 1 ``` 运行示例将得到以上输出。 PHP 还具有一些预定义的常量。 `predefined_constants.php` ```php <?php echo TRUE; echo "\n"; echo PHP_VERSION; echo "\n"; echo PHP_OS; echo "\n"; echo __LINE__; echo "\n"; echo __FILE__; echo "\n"; echo DIRECTORY_SEPARATOR; echo "\n"; echo PHP_DATADIR; echo "\n"; ``` 在这里,我们打印一些内置的 PHP 常量。 例如,`PHP_OS`常量打印构建 PHP 的 OS 版本。 ```php $ php predefined_constants.php 1 5.6.17 Linux 9 /home/janbodnar/prog/php/basics/predefined_constants.php / /usr/local/share/php ``` 在我们的系统上,我们得到此输出。 ## PHP 变量插值 变量插值正在用字符串字面值中的值替换变量。 变量插值的另一个名称是:变量替换或变量扩展。 `interpolation.php` ```php <?php $age = 17; echo "Jane is $age years old\n"; ``` `$age`变量用双引号括起来的字符串中的值 17 代替。 ```php $ php interpolation.php Jane is 17 years old ``` 这是输出。 `nointerpolation.php` ```php <?php $age = 17; echo 'Jane is $age years old\n'; ``` 但是,如果我们使用单引号,则此方法不起作用。 在这种情况下,不会发生插值,也不会运行特殊字符。 ```php $ php nointerpolation.php Jane is $age years old\n ``` 我们看到了字符串的逐字输出。 ## PHP 包括文件 PHP 代码被分成多个文件,以用于更大的程序。 我们使用`include`语句来连接各种 PHP 文件。 `common.php` ```php <?php define("VERSION", 1.12); function get_max($x, $y) { if ($x > $y) { return $x; } else { return $y; } } ``` 假设我们有一个`common.php`文件,其中定义了一些常量和函数。 `myfile.php` ```php <?php include "common.php"; echo "The version is " . VERSION . "\n"; $a = 5; $b = 3; echo get_max($a, $b), "\n"; ``` 我们还有另一个文件要使用上述定义。 ```php include "common.php"; ``` 我们只需使用`include`关键字将定义包含到文件中即可。 我们必须指定`common.php`文件的确切路径。 在我们的简单情况下,两个文件都在同一目录中。 ```php $ php myfile.php The version is 1.12 5 ``` 这是输出。 本章介绍了 PHP 语言的一些基础知识。