rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » PHP

php步步学习(4)

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 中,提供了超过 700 个内建的函数。

PHP 函数

在本教程中,我们将为您讲解如何创建自己的函数。

如需内建函数的参考和实例,请访问我们的 PHP 参考手册。

创建 PHP 函数

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

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

    一个简单的函数,在其被调用时能输出我的名称的:

    <html> 
    <body>
    <?php function writeMyName() { echo "David Yang"; } writeMyName(); ?>
    </body>
     </html>
    使用 PHP 函数

    现在,我们要在 PHP 脚本中使用这个函数了:

    <html>
     <body>
    <?php function writeMyName() { echo "David Yang"; }
    echo "Hello world!<br />"; echo "My name is ";
     writeMyName(); echo ".<br />That's right, ";
    writeMyName(); echo " is my name."; ?>
    </body>
     </html>

    以上代码的输出:

    Hello world! My name is David Yang. That's right, David Yang is my name. 
    PHP 函数 - 添加参数

    我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。

    通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。

    您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。

    例子 1

    下面的例子讲输出不同的名字,但姓是相同的:

    <html>
     <body>
    <?php function writeMyName($fname) { echo $fname . " Yang.<br />"; }
    echo "My name is ";
     writeMyName("David"); echo "My name is "; writeMyName("Mike");
    echo "My name is "; writeMyName("John"); ?>
    </body>
    </html>

    上面的代码的输出:

    My name is David Yang. My name is Mike Yang. My name is John Yang. 
    例子 2

    下面的函数有两个参数:

    <html>
     <body>
    <?php function writeMyName($fname,$punctuation) { echo $fname . " Yang" . $punctuation . "<br />"; }
     echo "My name is "; writeMyName("David",".");
    echo "My name is "; writeMyName("Mike","!");
    echo "My name is "; writeMyName("John","..."); ?>
     </body>
     </html>

    上面的代码的输出:

    My name is David Yang. My name is Mike Yang! My name is John Yang... 
    PHP 函数 - 返回值

    函数也能用于返回值。

    例子
    <html> 
    <body>
    <?php function add($x,$y) { $total = $x + $y; return $total; }
    echo "1 + 16 = " . add(1,16); ?>
    </body>
    </html>

    以上代码的输出:

    1 + 16 = 17

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

    PHP 表单处理 表单实例:
    <html> 
    <body>
    <form action="welcome.php" method="post"> Name: <input type="text" name="name" />
     Age: <input type="text" name="age" /> <input type="submit" />
    </form>
    </body>
     </html>

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

    "welcome.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. 

    我们将在下一章解释 PHP $_GET 和 $_POST。

    表单验证

    应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。

    不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。

    在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

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

    $_GET 变量

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

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

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

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

    http://www.w3school.com.cn/welcome.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!
    顶一下
    (0)
    踩一下
    (0)