跳转到内容

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 是否成功。

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


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

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

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


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

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

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

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


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

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

[编辑 | 编辑源代码]


华夏公益教科书