PHP 基础

上文介绍了 PHP 语法结构,本章介绍了 PHP 语言的一些基础知识。

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

<?php 

# PHP code

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

PHP 控制台输出

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

printing.php

<?php 

a = 23;
printa;

该 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.php 
23
24

这是脚本的输出。

PHP 命令行参数

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

arguments.php

<?php 

echo "There are argc arguments\n";

for (i=0; i<argc; i++) {
    echoargv[$i] . "\n";
}

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

echo "There are $argc arguments\n";

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

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

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

$ 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 

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.php 
Jane 
12 
56.4 
1 

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

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.php 
double
string
integer
array
object

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

PHP 常量

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

constants.php

<?php 

define("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.php 
0000FF
1

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

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

predefined_constants.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 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 

age = 17;

echo "Jane isage years old\n";

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

$ php interpolation.php 
Jane is 17 years old

这是输出。

nointerpolation.php

<?php 

age = 17;

echo 'Jane isage years old\n';

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

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

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

PHP 包括文件

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

common.php

<?php 

define("VERSION", 1.12);

function get_max(x,y) {
    if (x>y) {
        return x;
    } else {
        returny;
    }
}

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

myfile.php

<?php 

include "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.php 
The version is 1.12
5

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程