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
PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
PHP 是一门松散类型的语言(Loosely Typed Language)在 PHP 中,不需要在设置变量之前声明该变量。
变量的命名规则
1.变量名必须以字母或下划线 "_" 开头。
2.变量名只能包含字母数字字符以及下划线。
3.变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:
以上代码的输出:Hello World
以上代码的输出:Hello World 1234可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。
比如计算字符串 "Hello world!" 的长度:
以上代码的输出是:6正如看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置是 0,而不是 1。
可以在代码中使用条件语句来完成此任务。
if...else 语句 在条件成立时执行一块代码,条件不成立时执行另一块代码
elseif 语句 与 if...else 配合使用,在若干条件之一成立时执行一个代码块
if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
实例
如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:
";
echo "Have a nice weekend!";
echo "See you on Monday!";
}
?>
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;
实例
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;
}
$names = array("Peter","Quagmire","Joe");
例子 2
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
可以在脚本中使用这些 ID 键:
以上代码的输出:Quagmire and Joe are Peter's neighbors
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
例子 2
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
可以在脚本中使用 ID 键:
以上脚本的输出:Peter is 32 years old.
当然关联数组里面的数据不一定是数字,可以是任何东西:
$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?
while (condition)
code to be executed;
";
$i++;
}
?>
do
{
code to be executed;
}
while (condition);
例子
";
}
while ($i<5);
?>
for (initialization; condition; increment)
{
code to be executed;
}
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
";
}
?>
foreach (array as value)
{
code to be executed;
}
例子
";
}
?>
函数是一种可以在任何被需要的时候执行的代码块。
";
echo "My name is ";
writeMyName();
echo ".
That's right, ";
writeMyName();
echo " is my name.";
?>
以上代码的输出:
";
}
echo "My name is ";
writeMyName("David");
echo "My name is ";
writeMyName("Mike");
echo "My name is ";
writeMyName("John");
?>
上面的代码输出:
";
}
echo "My name is ";
writeMyName("David",".");
echo "My name is ";
writeMyName("Mike","!");
echo "My name is ";
writeMyName("John","...");
?>
上面的代码的输出:
以上代码的输出:
上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。
Welcome .
You are years old.
上面这个脚本的输出样本类似这样:
Welcome .
You are years old!
Welcome .
You are years old!
例子
当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:
Welcome .
You are years old!
Welcome .
You are years old!