[PHP]从HelloWorld开始的基本语法入门教程

PHP 指 PHP:超文本预处理器(PHP: Hypertext Preprocessor,递归命名),是一种服务器端的脚本语言,类似 ASP, 脚本在服务器上执行。


一般来说,PHP是要配置Apache服务器的(这就是我当年为什么没有学PHP而开始做J2EE的原因:WIN7是64位而Apache是32位的。但是后来装了四系统就解决了32位的问题了),并且还要做相应的调整使Apache能够解析PHP语言。

有兴趣的同学建议从头做起,一步一步的部署Apache(只有32位),如果想直接开始学习PHP,可以去SAE申请云服务器:

[SAE]免费服务器:新浪云服务器SAE的注册与使用

如果只是个人学习应该没有问题,通过实名认证可以用一年左右。使用TortoiseSVN建立本地的SVN库即可。

SVN软件的下载安装:

TortoiseSVN下载:http://tortoisesvn.net/downloads.html

TortoiseSVN教程: [SVN]版本控制软件:TortoiseSVN的简单操作



基本的 PHP 语法
PHP 的脚本块以 结束。可以把 PHP 的脚本块放置在文档中的任何位置。
当然,在支持简写的服务器上,可以使用 来开始和结束脚本块。
不过,为了达到最好的兼容性,我们推荐使用标准形式 (
PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。
在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":







PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。



PHP 中的注释:
在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块,这一点和Java一样。









PHP 中的变量
变量用于存储值,比如数字、文本字符串或数组。
一旦设置了某个变量,我们就可以在脚本中重复地使用它。
PHP 中的所有变量都是以 $ 符号开始的。
在 PHP 中设置变量的正确方法是:
$var_name = value;
PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。
让我们试着创建一个存有字符串的变量,和一个存有数值的变量:
PHP 是一门松散类型的语言(Loosely Typed Language)在 PHP 中,不需要在设置变量之前声明该变量。
在上面的例子中,不必向 PHP 声明该变量的数据类型。
根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。
在强类型的编程语言中,必须在使用前声明变量的类型和名称。
在 PHP 中,变量会在使用时被自动声明。

变量的命名规则

1.变量名必须以字母或下划线 "_" 开头。

2.变量名只能包含字母数字字符以及下划线。

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


PHP 中的字符串
字符串变量用于包含字符串的值。
在此介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。
在创建字符串之后,我们就可以对它进行操作了。可以直接在函数中使用字符串,或者把它存储在变量中。

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

以上代码的输出:Hello World



并置运算符(Concatenation Operator)
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
要把两个变量连接在一起,请使用这个点运算符 (.) :

以上代码的输出:Hello World 1234可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。
为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。



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

比如计算字符串 "Hello world!" 的长度:


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



使用 strpos() 函数
strpos() 函数用于在字符串内检索一段字符串或一个字符。
如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。
让我们试一下,是不是能在字符串中找到子字符串 "world":
 
以上代码的输出是:6正如看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置是 0,而不是 1。



条件语句
编写代码时常常需要为不同的判断执行不同的动作。

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

if...else 语句 在条件成立时执行一块代码,条件不成立时执行另一块代码

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



If...else 语句

如果希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。
语法
if (condition)
  code to be executed if condition is true;
else
  code to be executed if condition is false; 
实例
如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":







如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:



";
  echo "Have a nice weekend!";
  echo "See you on Monday!";
  }
?>




ElseIf 语句

如果希望在多个条件之一成立时执行代码,请使用 elseif 语句:
语法
if (condition)
  code to be executed if condition is true;
elseif (condition)
  code to be executed if condition is true;
else
  code to be executed if condition is false; 
实例
如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":








Switch 语句
如果希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
switch (expression)
{
case label1:
  code to be executed if expression = label1;
  break;  
case label2:
  code to be executed if expression = label2;
  break;
default:
  code to be executed
  if expression is different
  from both label1 and label2;
}

实例
工作原理:
对表达式(通常是变量)进行一次计算,把表达式的值与结构中 case 的值进行比较,如果存在匹配,则执行与 case 关联的代码,代码执行后,break 语句阻止代码跳入下一个 case 中继续执行。如果没有 case 为真,则使用 default 语句。









数组
在使用 PHP 进行开发的过程中,或早或晚,会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID(也就是下标),因此可以方便地访问它们。
有三种数组类型:
1.数值数组:带有数字 ID 键的数组
2.关联数组:数组中的每个 ID 键关联一个值
3.多维数组:包含一个或多个数组的数组

数值数组
例子 1
在这个例子中,会自动分配 ID 键:
$names = array("Peter","Quagmire","Joe");
例子 2
在这个例子中,我们人工分配的 ID 键:
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
可以在脚本中使用这些 ID 键:

以上代码的输出: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 键:
以上脚本的输出: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:



";
  $i++;
  }
?>




do...while 语句

do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。
语法
do
{
code to be executed;
}
while (condition);
例子
下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:



";
  }
while ($i<5);
?>





for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
for (initialization; condition; increment)
{
  code to be executed;
}
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
例子
下面的例子会把文本 "Hello World!" 显示 5 次:



";
}
?>




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

foreach (array as value)
{
    code to be executed;
}
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:



";
}
?>






PHP 函数
创建 PHP 函数

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


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

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









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



";
echo "My name is ";
writeMyName();
echo ".
That's right, "; writeMyName(); echo " is my name."; ?>
以上代码的输出:
Hello world!
My name is David Yang.
That's right, David Yang is my name.



PHP 函数 - 添加参数
我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。
通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。
函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。
例子 1
下面的例子讲输出不同的名字,但姓是相同的:




";
  }

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
下面的函数有两个参数:



";
  }

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 函数 - 返回值
函数也能用于返回值。
例子






以上代码的输出:
1 + 16 = 17


PHP 表单处理
表单实例:




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



Welcome .
You are years old.
上面这个脚本的输出样本类似这样:
Welcome John.
You are 28 years old.



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



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


当用户点击提交按钮时,发送的 URL 会类似这样:
http://write.blog.csdn.net/postedit/welcome.php?Name=why&age=20
"welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):
Welcome .
You are years old!


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



$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome .
You are years old!


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

例子

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

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

Welcome .
You are years old!

为什么使用 $_POST?
1.通过 HTTP POST 发送的变量不会显示在 URL 中。
2.变量没有长度限制。
不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome .
You are years old!




你可能感兴趣的:(PHP,PHP学习笔记)