十天学会PHP/第四天:数组、函数、表单

来自站长百科
跳转至: 导航、​ 搜索

十天学会PHP

数值数组[ ]

  • 数值数组存储的每个元素都带有一个数字 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?"; 
  • 以上代码的输出:
Is Megan a part of the Griffin family?

循环[ ]

  • 在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。
  • 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 . "
"; $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 参考手册。

创建 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 表单处理[ ]

  • 表单实例:
<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" 文件类似这样:
<pre>
<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。

表单验证[ ]

  • 应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。
  • 不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。
  • 在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

参考来源[ ]

使用手册导航

十天学会php

第一天:PHP基础教程|第二天:PHP基础语法|第三天:运算符、循环与数组|第四天:数组、函数、表单|第五天:$_GET、$_POST |第六天:PHP日期、引用|第七天:文件上传、Cookies|第八天:Sessions、发送电子邮件|第九天:错误处理、异常处理、过滤器|第十天:PHP学习必看