原文: https://zetcode.com/lang/php/basics/

在 PHP 教程的这一部分中,我们讨论 PHP 的基本编程。

所有 PHP 代码都由两个定界符<?php?>包围。

  1. <?php
  2. # PHP code

PHP 代码放在两个定界符之间。

PHP 控制台输出

我们的 PHP 脚本的输出将发送到控制台。 注意我们之所以说控制台,是因为这里我们使用PHP_CLI命令行解释器。 如果我们在网络上测试这些示例,则输出将发送到浏览器。

printing.php

  1. <?php
  2. $a = 23;
  3. print $a;

该 PHP 脚本为变量分配值。 它将打印到控制台。

  1. $a = 23;

我们为$a变量分配一个值 23。 每个变量都以美元字符开头。 此 PHP 代码行是一条语句。 每个语句以分号结尾。 在 PHP 中,分号不是像 JavaScript 或 Ruby 中那样可选的。 他们是必须的。

  1. print $a;

我们将$a变量打印到控制台。 print关键字不会在输出中添加新行。 如果要换行,则必须手动放置。 print关键字仅接受一个参数。

echoing.php

  1. <?php
  2. $a = 23;
  3. $b = 24;
  4. echo $a, "\n", $b, "\n";

在此脚本中,我们使用echo关键字。 它类似于print关键字。 与print关键字不同,它可以采用多个参数。

  1. $a = 23;
  2. $b = 24;

我们定义两个变量。

  1. echo $a, "\n", $b, "\n";

我们将变量打印到控制台。 我们还包括换行符。 参数可以用逗号分隔。

  1. $ php echoing.php
  2. 23
  3. 24

这是脚本的输出。

PHP 命令行参数

PHP 脚本可以接收命令行参数。 它们遵循程序的名称。 $argv是一个包含 PHP 脚本的所有参数的数组。 $argc保留传递的参数数量,包括 PHP 脚本的名称。

arguments.php

  1. <?php
  2. echo "There are $argc arguments\n";
  3. for ($i=0; $i < $argc; $i++) {
  4. echo $argv[$i] . "\n";
  5. }

该脚本与命令行参数一起使用。

  1. echo "There are $argc arguments\n";

我们打印传递给脚本的参数数量。

  1. for ($i=0; $i < $argc; $i++) {
  2. echo $argv[$i] . "\n";
  3. }

for循环中,我们遍历并打印所有参数。 循环将在本教程的后面部分介绍。

  1. $ php arguments.php 1 2 3
  2. There are 4 arguments
  3. arguments.php
  4. 1
  5. 2
  6. 3

我们将三个参数传递给脚本。 脚本的名称也是 PHP 脚本的参数。

PHP 类型

PHP 是一种弱类型语言。 它适用于类型,但是程序员在声明变量时不指定它们。 数据类型是多种类型的数据之一,如doubleintegerboolean。 某种数据类型的值来自特定范围的值,这些值说明该类型的可能值,对该类型可以执行的操作以及该类型的值的存储方式。 PHP 与数据类型隐式地工作。 程序员没有明确指定数据类型。

dynamic.php

  1. <?php
  2. $a = "Jane";
  3. echo "$a \n";
  4. $a = 12;
  5. echo "$a \n";
  6. $a = 56.4;
  7. echo "$a \n";
  8. $a = true;
  9. echo "$a \n";

在此 PHP 脚本中,我们有一个$a变量。 首先,我们给它分配一个字符串,然后是一个整数,一个双精度数,最后是一个布尔值。 如果我们将字符串分配给变量,PHP 会自动创建一个字符串变量。

  1. $ php dynamic.php
  2. Jane
  3. 12
  4. 56.4
  5. 1

运行脚本,我们得到此输出。

gettype.php

  1. <?php
  2. $temperature = 12.4;
  3. $name = "Jane";
  4. $age = 17;
  5. $values = array(1, 2, 3, 4, 5, 6);
  6. class Being {};
  7. $somebody = new Being();
  8. echo gettype($temperature), "\n";
  9. echo gettype($name), "\n";
  10. echo gettype($age), "\n";
  11. echo gettype($values), "\n";
  12. echo gettype($somebody), "\n";

在上面的 PHP 脚本中,我们动态创建了五种类型。

  1. $temperature = 12.4;

定义了一个双变量。

  1. $name = "Jane";

定义了一个字符串变量。

  1. $age = 17;

定义了一个整数变量。

  1. $values = array(1, 2, 3, 4, 5, 6);
  2. class Being {};

这是一个数组和一个类。 稍后将更详细地介绍这两种类型。

  1. echo gettype($temperature), "\n";

gettype()函数返回相关变量的类型。

  1. $ php gettype.php
  2. double
  3. string
  4. integer
  5. array
  6. object

该脚本列出了 PHP 的基本类型。

PHP 常量

在 PHP 中,我们可以创建常量。 常量是值的名称,与变量不同,该值不能与其他值重新关联。 我们使用define()函数在 PHP 中创建常量。

constants.php

  1. <?php
  2. define("BLUE", "0000FF");
  3. echo BLUE, "\n";
  4. echo defined("BLUE");
  5. echo "\n";

在此 PHP 脚本中,我们定义一个BLUE常量。

  1. define("BLUE", "0000FF");

在这里,我们定义BLUE常数。 按照惯例,用大写字母写常量。

  1. echo BLUE, "\n";

在这里我们使用它。 请注意,常量前面没有$美元字符。

  1. echo defined("BLUE");

我们使用了另一个功能defined()函数。 它检查是否存在特定常数。 如果是,则返回true

  1. $ php constant.php
  2. 0000FF
  3. 1

运行示例将得到以上输出。

PHP 还具有一些预定义的常量。

predefined_constants.php

  1. <?php
  2. echo TRUE;
  3. echo "\n";
  4. echo PHP_VERSION;
  5. echo "\n";
  6. echo PHP_OS;
  7. echo "\n";
  8. echo __LINE__;
  9. echo "\n";
  10. echo __FILE__;
  11. echo "\n";
  12. echo DIRECTORY_SEPARATOR;
  13. echo "\n";
  14. echo PHP_DATADIR;
  15. echo "\n";

在这里,我们打印一些内置的 PHP 常量。 例如,PHP_OS常量打印构建 PHP 的 OS 版本。

  1. $ php predefined_constants.php
  2. 1
  3. 5.6.17
  4. Linux
  5. 9
  6. /home/janbodnar/prog/php/basics/predefined_constants.php
  7. /
  8. /usr/local/share/php

在我们的系统上,我们得到此输出。

PHP 变量插值

变量插值正在用字符串字面值中的值替换变量。 变量插值的另一个名称是:变量替换或变量扩展。

interpolation.php

  1. <?php
  2. $age = 17;
  3. echo "Jane is $age years old\n";

$age变量用双引号括起来的字符串中的值 17 代替。

  1. $ php interpolation.php
  2. Jane is 17 years old

这是输出。

nointerpolation.php

  1. <?php
  2. $age = 17;
  3. echo 'Jane is $age years old\n';

但是,如果我们使用单引号,则此方法不起作用。 在这种情况下,不会发生插值,也不会运行特殊字符。

  1. $ php nointerpolation.php
  2. Jane is $age years old\n

我们看到了字符串的逐字输出。

PHP 包括文件

PHP 代码被分成多个文件,以用于更大的程序。 我们使用include语句来连接各种 PHP 文件。

common.php

  1. <?php
  2. define("VERSION", 1.12);
  3. function get_max($x, $y) {
  4. if ($x > $y) {
  5. return $x;
  6. } else {
  7. return $y;
  8. }
  9. }

假设我们有一个common.php文件,其中定义了一些常量和函数。

myfile.php

  1. <?php
  2. include "common.php";
  3. echo "The version is " . VERSION . "\n";
  4. $a = 5;
  5. $b = 3;
  6. echo get_max($a, $b), "\n";

我们还有另一个文件要使用上述定义。

  1. include "common.php";

我们只需使用include关键字将定义包含到文件中即可。 我们必须指定common.php文件的确切路径。 在我们的简单情况下,两个文件都在同一目录中。

  1. $ php myfile.php
  2. The version is 1.12
  3. 5

这是输出。

本章介绍了 PHP 语言的一些基础知识。