W3C之PHP基础篇

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

PHP 文件可包含文本、HTML 标签以及脚。PHP 文件中的脚本可在服务器上执行。

什么是 PHP?

PHP:  超文本预处理器,服务器脚本语言,在服务器上执行,开源,支持多种数据库

PHP文件:

1、可包含文本、HTML 标签以及脚本

2、向浏览器返回纯粹的 HTML

3、文件后缀是 ".php"、".php3" 或 ".phtml"

PHP语法:

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

<?php

?>

向浏览器输出文本 "Hello World":

<html>
<body>

<?php
echo "Hello World";
?>

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

有两种通过 PHP 来输出文本的基础指令:echo 和 print

PHP 中的注释

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

PHP 中的变量

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

2.所有变量都是以 $ 符号开始的。

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

$var_name = value;

创建一个存有字符串的变量,和一个存有数值的变量:

<?php
$txt = "Hello World!";
$number = 16;
?>

PHP 是一门松散类型的语言

变量使用前不需要声明数据类型

变量的命名规则

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

PHP 中的字符串

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

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

<?php
$txt="Hello World";
echo $txt;
?>

以上代码的输出:

Hello World

并置运算符

并置运算符 (.) 用于把两个字符串值连接起来。

两个变量连接在一起,请使用这个点运算符 (.) :

<?php
$txt1="Hello World";
$txt2="1234";
echo $txt1 . " " . $txt2;
?>

以上代码的输出:

Hello World 1234

使用 strlen() 函数

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

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

<?php
echo strlen("Hello world!");
?>

以上代码的输出:

12

使用 strpos() 函数

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

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

<?php
echo strpos("Hello world!","world");
?> 

以上代码的输出是:

6

PHP 运算符

运算符用于对值进行运算.

算数运算符

运算符 说明 例子 结果
+ Addition x=2
x+2
4
- Subtraction x=2
5-x
3
* Multiplication x=4
x*5
20
/ Division 15/5
5/2
3
2.5
% Modulus (division remainder) 5%2
10%8
10%2
1
2
0
++ Increment x=5
x++
x=6
-- Decrement x=5
x--
x=4

赋值运算符

运算符 说明 例子
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
.= x.=y x=x.y
%= x%=y x=x%y

比较运算符

运算符 说明 例子
== is equal to 5==8 returns false
!= is not equal 5!=8 returns true
> is greater than 5>8 returns false
< is less than 5<8 returns true
>= is greater than or equal to 5>=8 returns false
<= is less than or equal to 5<=8 returns true

逻辑运算符

运算符 说明 例子
&& and x=6
y=3

(x < 10 && y > 1) returns true

|| or x=6
y=3

(x==5 || y==5) returns false

! not x=6
y=3

!(x==y) returns true


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

如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri"){
  echo "Have a nice weekend!"; }
else
  echo "Have a nice day!"; 
?>

</body>
</html>

ElseIf 语句

实例

如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri")
  echo "Have a nice weekend!"; 
elseif ($d=="Sun")
  echo "Have a nice Sunday!"; 
else
  echo "Have a nice day!"; 
?>

</body>
</html
PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。

<?php
switch ($x)
{
case 1:
  echo "Number 1";
  break;
case 2:
  echo "Number 2";
  break;
case 3:
  echo "Number 3";
  break;
default:
  echo "No number between 1 and 3";
}
?>

</body>
</html>
PHP数组

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

有三种数组类型:

数值数组
带有数字 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

关联数组

例子 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,  for, foreach, do...while

while语句

例子

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

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

do...while 语句

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

for 语句

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

foreach 语句

<?php
$arr=array("one", "two", "three");

foreach ($arr as $value)
{
  echo "Value: " . $value . "<br />";
}
?>
输出:
Value:one 
Value:two 
Value:three 

PHP 函数

PHP 的真正威力源自于它的函数。在 PHP 中,提供了超过 700 个内建的函数。

例子

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

<?php
function writeMyName()
  {
  echo "David Yang";
  }

writeMyName();
?>

使用 PHP 函数

<?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.";
?>

以上代码的输出:

Hello world!
My name is David Yang.
That's right, David Yang is my name.

PHP 函数 - 添加参数

例子 1

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

<?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");
?>

上面的代码的输出:

My name is David Yang.
My name is Mike Yang.
My name is John Yang.

例子 2

下面的函数有两个参数:

<?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","...");
?>

上面的代码的输出:

My name is David Yang.
My name is Mike Yang!
My name is John Yang...

PHP 函数 - 返回值

例子

<?php
function add($x,$y)
  {
  $total = $x + $y;
  return $total;
  }

echo "1 + 16 = " . add(1,16);
?>

以上代码的输出:

1 + 16 = 17

PHP 表单和用户输入

 $_GET 和 $_POST 用于检索表单中的值,比如用户输入
表单实例:
<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>

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

$_GET 变量用于收集来自 method="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>

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

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

$_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 变量用于收集来自 method="post" 的表单中的值

为什么使用 $_POST?

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值