(例如 if、else、echo 等等)
变量都对大小写敏感 变量作用域 local 函数函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 函数函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
static 关键字 lobal 在函数内访问全局变量 static 函数完成/执行后,不删除某个局部变量 echo 和 print 语句 echo - 能够输出一个以上的字符串 print - 只输出一个字符串,并且始终返回1echo 是一个语言结构,有无括号均可使用。
拼接字符串echo “This”, " string", " was", " made", " with multiple parameters.";
if …else<?php
$t=date("H");
if ($t<"10") {
echo "Have a good morning!";
} elseif ($t
switch
for
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x
";
}
?>
Foreach
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value
";
}
?>
数组
创建数组 - array()
array();
数组类型|索引 - 关联 - 多维
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
"63","Steve"=>"56","Elon"=>"47");
echo "Elon is " . $age['Elon'] . " years old.";
?>
遍历关联数组 - foreach()
多维数组* - 包含一个或多个数组的数组
获得数组的长度 - count() 排序函数 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序 全局变量PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION $GLOBALS — 引用全局作用域中可用的全部变量
$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
下面的例子展示了如何使用超级全局变量 $GLOBALS:
实例
表单
表单验证
表单元素 - $_SERVER[“PHP_SELF”]
$_SERVER[“PHP_SELF”] 是一种超全局变量,它返回当前执行脚本的文件名。
htmlspecialchars() 函数htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 之类的 HTML 字符会被替换为 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
验证表单数据#####(通过 PHP trim() 函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
#####(通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠(\)
PHP 验证实例
<form method="post" action="">
姓名:
电邮:
网址:
评论:
表单必填
验证输入字段
显示错误信息
<form method="post" action="">
Name:
*
E-mail:
*
Website:
实例
.error {color: #FF0000;}
PHP 验证实例
* 必需的字段
<form method="post" action="">
姓名:
*
电邮:
*
网址:
评论:
表单 URL/E-mail
验证名字
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "只允许字母和空格!";
}
**注释:**preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。
验证 E-mail$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "无效的 email 格式!";
}
验证URL
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
=~_|]/i",$website)) {
$websiteErr = "无效的 URL";
}
实例
完成表单验证
保留表中的值
Name: <input type="text" name="name" value="">
E-mail: <input type="text" name="email" value="">
Website: <input type="text" name="website" value="">
Comment:
Gender:
<input type="radio" name="gender"
value="female">Female
<input type="radio" name="gender"
value="male">Male
完整实例
.error {color: #FF0000;}
PHP 验证实例
* 必需的字段
<form method="post" action="">
姓名:
*
电邮:
*
网址:
评论:
PHP 高级
date()
d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位数)
1 - 表示周里的某天
h - 带有首位零的 12 小时小时格式
i - 带有首位零的分钟
s - 带有首位零的秒(00 -59)
a - 小写的午前和午后(am 或 pm)
PHP 自动版权年份 - date(“Y”)
© 2010-
获得时区 - date_default_timezone_set();
PHP mktime() 创建日期
mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
mktime(hour,minute,second,month,day,year)
PHP strtotime() 用字符串来创建日期
strtotime(time,now)
实例
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "
";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "
";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "
";
?>
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate),"
";
$startdate = strtotime("+1 week", $startdate);
}
?>