跳转到内容

PHP 编程 / 从“Hello World!” 开始

来自维基教科书,开放世界中的开放书籍
此页面使用了 颜色代码框。使用 讨论页面 留下您关于此新功能的任何反馈。

返回 基础知识

简单 Hello World

[编辑 | 编辑源代码]
“Hello World.” 是大多数初学者程序员在任何给定语言中学习编写的第一个程序。以下是如何在 PHP 中打印 “Hello World!” 的示例。

代码:

<?php
  echo "Hello World!";
  echo "We are learning PHP!";

输出:

Hello World!
We are learning PHP!

这是 PHP 的最基本形式。三行简单的代码,第一行标识 <?php 标签之后的代码都是 PHP 代码(直到文件结束,或者直到 ?> 标签)。第二行和第三行在网页上写一个文本问候语。下一个示例稍微复杂一些,使用了变量。

带变量的 Hello World

[编辑 | 编辑源代码]
此示例将字符串 “Hello World!” 存储在名为 $string 的变量中。以下几行显示了将变量 $string 显示到屏幕上的各种方法。

PHP 代码:

<?php
  // Declare the variable 'string' and assign it a value.
  // The <br> is the HTML equivalent to a new line.
  $string = 'Hello World!<br>';

  // You can echo the variable, similar to the way you would echo a string.
  echo $string;

  // You could also use print.
  print $string;

  // Or, if you are familiar with C, printf can be used too.
  printf('%s', $string);

PHP 输出:

Hello World!<br>Hello World!<br>Hello World!<br>

HTML 渲染:

Hello World!
Hello World!
Hello World!


前面的示例包含两个输出。PHP 可以输出浏览器将格式化和显示的 HTML。PHP 输出框是确切的 PHP 输出。HTML 渲染框是您的浏览器大约如何显示该输出。不要让这使您感到困惑,这只是让您知道 PHP 可以输出 HTML。我们将在后面更深入地介绍它。

新概念

[编辑 | 编辑源代码]

变量是任何编程语言的基础:它们是“容器”(内存中的空间),用于保存数据。数据可以更改,因此它是“可变的”。

如果您对其他编程语言有所了解,您就会知道,在某些语言中,您必须定义变量将保存的数据类型。这些语言被称为静态类型,因为必须在您将数据存储在变量中之前知道变量的类型。像 C++Java 这样的编程语言是静态类型的。另一方面,PHP 是动态类型,因为变量的类型与其值相关联。您可以为字符串定义一个变量,存储一个字符串,然后用数字替换该字符串。要在 C++ 中执行相同的操作,您必须强制转换或更改变量的类型,并将其存储在不同的“容器”中。

PHP 中的所有变量都遵循美元符号 ($) 后跟标识符(例如 $variable_name)的格式。这些标识符区分大小写,这意味着大小写很重要,因此 $wiki 与 $Wiki 不同。

现实世界类比

[编辑 | 编辑源代码]

要将变量与现实世界的对象进行比较,请将计算机的内存想象成一个储藏室。变量将是储藏室中的一个箱子,而箱子里的内容(例如一个杯子)将是该变量中的数据。

如果箱子被贴上标签 厨房用品,而箱子的内容是一个杯子,则 PHP 代码将是

$kitchen_stuff = 'cup';

如果我接着走进储藏室,打开贴着标签 厨房用品 的箱子,然后用叉子替换杯子,则新的代码将是

$kitchen_stuff = 'fork';

请注意代码块中间添加的 = 和结尾的 ;= 是赋值运算符,或者用我们的类比来说,是附带箱子的说明,上面写着“将杯子放入箱子”。; 表示停止评估代码块,或者用我们的类比来说,完成正在做的事情并继续执行其他操作。

还要注意杯子是用单引号而不是双引号括起来的。使用双引号将告诉 PHP 解析器,箱子中可能不仅仅是一个杯子,并且需要查找其他说明。

$bathroom_stuff = 'toothbrush'; 
$kitchen_stuff = "cup $bathroom_stuff";
 
//$kitchen_stuff contents is now '''cup toothbrush'''

单引号告诉 PHP 解析器,它只是一个杯子,不需要查找其他任何东西。在这个例子中,原本应该将内容添加到厨房箱子的浴室箱子反而添加了它的名字。

$bathroom_stuff = 'toothbrush';
$kitchen_stuff = 'cup $bathroom_stuff';
 
//$kitchen_stuff contents is now '''cup $bathroom_stuff'''

因此,再次尝试将类比可视化并关联起来,以便使用下面的比较来理解变量的概念。请注意,这是一种现实世界对象的比较,而不是 PHP 代码。

Computer memory (RAM) = storage shed
Variable = a box to hold stuff
Variable name = a label on the box such as kitchen stuff
Variable data = the contents of the box such as a cup

请注意,您不会将变量命名为 box,因为变量和箱子之间的关系由 $ 表示,以及数据如何在内存中存储。例如,常量和数组在使用箱子类比时可以被视为一种变量,因为它们都是用来保存某种内容的容器,但是,它们的差异在于它们是如何被定义来处理箱子中的内容的。

变量:一个可以在储藏室打开的箱子,可以交换箱子里的内容。

常量:一个不能打开来交换其内容的箱子。它的内容只能在储藏室里查看,不能交换。

数组:一个包含一个或多个附加箱子的主箱子。为了使初学者更加复杂,每个附加箱子也可能包含一个箱子。在厨房用品箱中,我们有两个箱子,干净的杯子箱

$kitchen_stuff["clean_cup"] = 'the clean cup';

和脏的杯子箱

$kitchen_stuff["dirty_cup"] = 'the dirty cup';

有关变量的更多信息,来自 PHP 手册

print 和 echo 语句

[编辑 | 编辑源代码]

Print 是输出的关键。它将引号(或括号)中包含的内容发送到输出设备(浏览器窗口)。类似的功能是 echo,但 print 允许用户检查打印是否成功。

当与引号一起使用时,例如
print "Hello, World!";


引号中的文本被视为字符串,因此可以与连接运算符(将两个字符串连接在一起)以及任何返回字符串值的函数一起使用。

以下两个示例具有相同的输出。
print "Hello, World!";

print "Hello" . ", " . "World!";


点符号连接两个字符串。在其他编程语言中,字符串连接使用加号,点符号通常用于调用类中的函数。

另外,值得注意的是,在大多数情况下,echo 可以与 print 互换使用。print 返回一个值,因此可以用来测试打印是否成功,而 echo 假设一切正常。在大多数情况下,如果 echo 失败,我们无能为力。

以下示例再次具有相同的输出。
echo "Hello, World!";

echo "Hello" . ", " . "World!";


在本手册的大多数部分,我们将使用 echo,因为它是最常用的语句。

需要注意的是,虽然 echoprint 可以像函数一样调用,但它们实际上是语言结构,可以不带括号调用。普通函数(几乎所有其他函数)必须在函数标识符之后使用括号调用。

[编辑 | 编辑源代码]


华夏公益教科书