现在的位置: 网页制作教程网站制作教程 >正文
php语言在线学习教程

快速学习php的教程

发表于2016/12/25 网站制作教程 0条评论 ⁄ 热度 1,362℃

这是一篇能够让你快速了解php的文章,学习PHP并迅速掌握他们。

基本的 PHP 语法

PHP 的脚本块以 <?php 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。

当然,在支持简写的服务器上,您可以使用 <? 和 ?> 来开始和结束脚本块。

不过,为了达到最好的兼容性,我们推荐您使用标准形式 (<?php),而不是简写形式。

PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。

在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":

<html>
  <body>
    <?php echo "Hello World"; ?>
  </body>
</html>

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。

PHP 中的注释

在 PHP 中,我们使用 // 来编写单行注释。例如:

<html>
  <body>
    <?php
      //This is a comment
    ?>
  </body>
</html>

PHP 中的变量

变量用于存储值,比如数字、文本字符串或数组。

一旦设置了某个变量,我们就可以在脚本中重复地使用它。

PHP 中的所有变量都是以 $ 符号开始的。

在 PHP 中设置变量的正确方法是:

<html>
  <body>
    <?php
      $myname = "jack";
    ?>
  </body>
</html>

PHP 的入门者往往会忘记在变量的前面的 $ 符号。

PHP 是一门松散类型的语言

在 PHP 中,不需要在设置变量之前声明该变量,PHP 会自动地把变量转换为正确的数据类型。

变量的命名规则

  • 变量名必须以字母或下划线 "_" 开头。
  • 变量名只能包含字母数字字符以及下划线。
  • 变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如$my_string),或者以大写字母开头(比如 $myString)。

PHP 中的字符串

字符串变量用于包含字符串的值。

在本教程中,我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:

<?php
  $txt="Hello World";
  echo $txt;
?>
输出结果:Hello World

并置运算符

在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。

<?php
  $txt1="Hello World";
  $txt2="webym";
  echo $txt1 . " " . $txt2;
?>
输出结果:Hello World webym

您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入三个字符串。

为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。

使用 strlen() 函数

strlen() 函数用于计算字符串的长度。

让我们算出字符串 "Hello world!" 的长度:

<?php
  echo strlen("Hello world!");
?>
输出结果:12

字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)。

使用 strpos() 函数

strpos() 函数用于在字符串内检索一段字符串或一个字符。

如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 False。

让我们试一下,是不是能在字符串中找到子字符串 "world":

<?php
  echo strpos("Hello world!","world");
?>
输出结果:6

正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置的 0,而不是 1。

PHP If...Else 语句

if、elseif 以及 else 语句用于执行基于不同条件的不同动作。

条件语句

当您编写代码时,您常常需要为不同的判断执行不同的动作。

您可以在代码中使用条件语句来完成此任务。

if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码

elseif 语句

与 if...else 配合使用,在若干条件之一成立时执行一个代码块

Switch 语句

如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。

使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。

PHP 数组

数组能够在单独的变量名中存储一个或多个值。

什么是数组?

在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。

无需很多相似的变量,你可以把数据作为元素存储在数组中。

数组中的元素都有自己的 ID,因此可以方便地访问它们。

有三种数组类型:

数值数组

带有数字 ID 键的数组

关联数组

数组中的每个 ID 键关联一个值

多维数组

包含一个或多个数组的数组

数值数组

数值数组存储的每个元素都带有一个数字 ID键。

可以使用不同的方法来创建数值数组:

例子 1

在这个例子中,会自动分配 ID 键:

$names = array("Peter","Quagmire","Joe");

例子 2

在这个例子中,我们人工分配的 ID键:

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

可以在脚本中使用这些 ID 键:

<?php
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>
输出结果:Quagmire and Joe are Peter's neighbors

关联数组

关联数组,它的每个 ID键都关联一个值。

在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。

通过关联数组,我们可以把值作为键,并向它们赋值。

例子 1

在本例中,我们使用一个数组把年龄分配给不同的人:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

例子 2

本例与例子 1相同,不过展示了另一种创建数组的方法:

$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

可以在脚本中使用 ID 键:

<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
echo "Peter is " . $ages['Peter'] . " years old.";
?>
输出结果:Peter is 32 years old.

多维数组

在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。

例子 1

在本例中,我们创建了一个带有自动分配的ID 键的多维数组:

$families = array( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ));
如果输出这个数组的话,应该类似这样:Array([Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan )[Quagmire] => Array ( [0] => Glenn )[Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ))

例子 2

让我们试着显示上面的数组中的一个单一的值:

echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代码的输出:Array([Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan )[Quagmire] => Array ( [0] => Glenn )[Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ))

以上代码的输出:Is Megan a part of the Griffin family?

PHP 循环

PHP中的循环语句用于执行相同的代码块指定的次数。

在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。

在 PHP中,我们可以使用下列循环语句:

while

只要指定的条件成立,则循环执行代码块

do...while

首先执行一次代码块,然后在指定的条件成立时重复这个循环

for

循环执行代码块指定的次数

foreach

根据数组中每个元素来循环代码块

while 语句

只要指定的条件成立,while语句将重复执行代码块。

语法

while (condition)code to be executed;

例子

下面的例子示范了一个循环,只要变量 i小于或等于5,代码就会一直循环执行下去。循环每循环一次,变量就会递增1:

<html>
  <body>
    <?php 
      $i=1;
      while($i<=5)  {  
        echo "The number is " . $i . "<br />";
        $i++;  
      }
    ?>
  </body>
</html>

do...while 语句

do...while 语句会至少执行一次代码 -然后,只要条件成立,就会重复进行循环。

语法

do{code to be executed;}while (condition);

例子

下面的例子将对 i的值进行一次累加,然后,只要 i 小于 5的条件成立,就会继续累加下去:

<html>
  <body>
    <?php 
      $i=0;
      do  {  
        $i++;  
        echo "The number is " . $i . "<br />";
      }while ($i<5);
    ?>
  </body>
</html>

for 语句

如果您已经确定了代码块的重复执行次数,则可以使用for 语句。

语法

for (initialization; condition; increment){  code to be executed;}

注释:for语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为true 或者 false。

例子

下面的例子会把文本 "Hello World!" 显示 5 次:

<html>
  <body>
    <?php
      for ($i=1; $i<=5; $i++){  
        echo "Hello World!<br />";
      }
    ?>
  </body>
</html>

foreach 语句

foreach 语句用于循环遍历数组。

每进行一次循环,当前数组元素的值就会被赋值给value 变量(数组指针会逐一地移动) -以此类推。

语法

foreach (array as value){
  code to be executed;
}

例子

下面的例子示范了一个循环,这个循环可以输出给定数组的值:

<html>
  <body>
    <?php
      $arr=array("one", "two", "three");
      foreach ($arr as $value){ 
        echo "Value: " . $value . "<br />";
      }
    ?>
  </body>
</html>

PHP 函数

创建 PHP 函数

函数是一种可以在任何被需要的时候执行的代码块。

  • 所有的函数都使用关键词 "function()"来开始。
  • 命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
  • 添加 "{" - 开口的花括号之后的部分是函数的代码。
  • 插入函数代码。
  • 添加一个 "}" - 函数通过关闭花括号来结束。

PHP 的 $_GET 和 $_POST 用于检索表单中的值,比如用户输入。

PHP 表单处理

表单实例:

<html>
 <body>
   <form action="demo.php" method="post">
    Name: <input type="text" name="name" />
    Age: <input type="text" name="age" />
    <input type="submit" />
   </form>
 </body>
</html>

上面的 HTML页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往"welcome.php" 这个文件。

"demo.php" 文件类似这样:

<html>
  <body>
    Welcome <?php echo $_POST["name"]; ?>.<br />You are <?php echo $_POST["age"]; ?> years old.
  </body>
</html>
上面这个脚本的输出样本类似这样:Welcome John.You are 28 years old.

$_GET 变量

$_GET 变量用于收集来自 method="get"的表单中的值。

$_GET 变量是一个数组,内容是由 HTTP GET方法发送的变量名称和值。

$_GET 变量用于收集来自 method="get"的表单中的值。从带有 GET方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多100 个字符)。

例子

<form action="demo.php" method="get">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
</form>

当用户点击提交按钮时,发送的 URL会类似这样:

demo.php?name=Peter&age=37

"welcome.php" 文件现在可以通过 $_GET变量来获取表单数据了(请注意,表单域的名称会自动成为$_GET 数组中的 ID 键):

Welcome <?php echo $_GET["name"]; ?>.<br />You are <?php echo $_GET["age"]; ?> years old!

为什么使用 $_GET?

注释:在使用 $_GET变量时,所有的变量名和值都会显示在 URL中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在URL中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

注释:HTTP GET方法不适合大型的变量值;值是不能超过 100个字符的。

$_REQUEST 变量

PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE的内容。

PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST方法发送的表单数据的结果。

例子

Welcome <?php echo $_REQUEST["name"]; ?>.<br />You are <?php echo $_REQUEST["age"]; ?> years old!

$_POST 变量

$_POST 变量用于收集来自 method="post"的表单中的值。

$_POST 变量是一个数组,内容是由 HTTP POST方法发送的变量名称和值。

$_POST 变量用于收集来自 method="post"的表单中的值。从带有 POST方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

例子:

<form action="welcome.php" method="post">
  Enter your name: <input type="text" name="name" />
  Enter your age: <input type="text" name="age" />
  <input type="submit" />
</form>

当用户点击提交按钮,URL不会含有任何表单数据,看上去类似这样:

welcome.php

"welcome.php" 文件现在可以通过 $_POST变量来获取表单数据了(请注意,表单域的名称会自动成为$_POST 数组中的 ID 键):

Welcome <?php echo $_POST["name"]; ?>.<br />You are <?php echo $_POST["age"]; ?> years old!

为什么使用 $_POST?

  • 通过 HTTP POST 发送的变量不会显示在 URL 中。
  • 变量没有长度限制。

不过,由于变量不显示在 URL中,所有无法把页面加入书签。

$_REQUEST 变量

PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE的内容。

PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST方法发送的表单数据的结果。

例子

Welcome <?php echo $_REQUEST["name"]; ?>.<br />You are <?php echo $_REQUEST["age"]; ?> years old!
  • 暂无评论