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