1、Php的开头和结尾
PHP 脚本以 <?php 开头,以 ?> 结尾:
2、PHP中输出:(echo和print,在使用时带不带括号均可,如echo(“Hello Word”))
echo和print区别:
echo能输出1个以上的字符串
Print只能输出一个字符串
用echo在页面上输出文字 如 echo "Hello World!"
var_dump()能输出数据类型和值
3、注释:
<!DOCTYPE html> <html> <body> <?php // 这是单行注释 # 这也是单行注释 /* 这是多行注释块 它横跨了 多行 */ ?> </body> </html>
4、在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
5、在 PHP 中,所有变量都对大小写敏感。
6、PHP 变量规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
$X,$Y表示变量X和变量Y
7、PHP 有三种不同的变量作用域:
- local(局部即js中的私有作用域)
- global(全局即js中的全局作用域)
- static(静态)
正常情况下,私有变量只能在私有作用域中使用,全局变量只能在全局作用域下使用,函数内容不能直接使用全局变量
8、PHP global 关键词(global 关键词用于访问函数内的全局变量)
即私有作用域中,在变量前加global关键字即可使用全局变量,如global $x,$y;表示全局变量x和y,这时在私有作用域下就可使用全局变量x和y的值
9、PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。(index表示变量名)
如:$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];(即全局变量y=全局变量x+全局变量y)
10、PHP中当函数执行完成后,会删除所有变量。如果有时不想删除某个变量,则可在创建变量时使用static关键字,如:static $x=0;
11、计算字符串的长度 strlen(str) 如字符串中包含空格,则空格也算字符
12、检索字符串中某个字符的索引位置,用strpos 如:strpos(“xia tian lai le”,”tian”)
13、定义常量用define(a,b,c)
define中有三个参数:a表示常量名称
b表示常量值
c表示是否对大小写敏感,默认是false,true表示对大小写不敏感
这里所说的对大小写敏感是针对常量名称而言,如常量名称是NAME,当c的值为false的时候,输出name,也不会打印出常量值,如c的值为true,则可以打印出常量值。
14、建数组
a) $ary=ary(“str1”,”str2”,”str3”);
b) $ary=ary(“a”=>”red”,”b”=>”green”);表示a的值是red b的值是green
输出数组的值用var_dump($ary);
根据索引输出数组中的值,如 $ary[0],$ary[1],$ary[2]
关联数组:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo “$age[Joe]” 输出43
15、count()
输出数组中元素的个数,如count($ary)
16、do while循环(do while循环至少会执行一次,首先是执行do里边的内容,然后当while中的条件成立时会再次执行do里的内容)
do{
}while(){
}
17、foreach循环
$ary=array(“a”,”b”,”c”); foreach($ary as $value){ echo “$value<br>” }
$ary1=array("a"=>"red","b"=>"blue","c"=>"green","d"=>"yellow"); foreach ($ary1 as $x=>$x_value){ echo "value=$x_value<br>"; }
18、form标签中的action用于存放接受表单数据的路径
如指定文件本身来处理表单数据,则action的路径为
action="<?php echo $_SERVER['PHP_SELF'];?>"
19、$_REQUEST 用于收集 HTML 表单提交的数据。
如:$name = $_REQUEST['fname']; 即获取name值为fname的表单值
echo $name;
20、$_POST用于method为post方式提交的表单数据
如:$name = $_POST['fname']; 即获取name值为fname的表单值
21、$_GET用于method为get方式提交的表单数据
如:$name = $_GET['fname']; 即获取name值为fname的表单值
22、格式化表单内容
$name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = test_input($_POST["name"]); $email = test_input($_POST["email"]); $website = test_input($_POST["website"]); $comment = test_input($_POST["comment"]); $gender = test_input($_POST["gender"]); } function test_input($data) { $data = trim($data);//去掉多余的字符(空格、制表符、换行符等) $data = stripslashes($data);//去掉用户输入内容中的反斜杠 $data = htmlspecialchars($data);//把特殊字符转换为html实体 return $data; }
23、表单验证
24、preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。
<?php $name=$email=$nameError=$emailError=""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if(empty($_POST["name"])){ $nameError="name是必填的"; }else{ $name=test_input($_POST["name"]); if(!preg_match("/^[a-zA-z ]*$/",$name)){ $nameError="name只能是字母或空格"; } } if(empty($_POST["email"])){ $emailError="email为必填"; }else{ $email=test_input($_POST["email"]); if (!preg_match("/([w-]+@[w-]+.[w-]+)/",$email)) { // if (!preg_match("/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/% =~_|]/i",$website))检测url $emailError = "无效的 email 格式!"; } } } function test_input($data){ $data=trim($data); $data=stripslashes($data); $data=htmlspecialchars($data); return $data; } ?> <form method="post" class="form1" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"><span class="error"><?php echo $nameError;?></span><br> E-mail: <input type="text" name="email"><span class="error"><?php echo $emailError;?></span><br> <div class="btn" style=" 100px;height:30px;line-height: 28px;border-radius:5px;border:1px solid #ccc;text-align: center;">提交</div> <input type="submit"> </form>
25、数据库连接
Mysql_connect(servername,username,password)
三个参数均是可选的,servername是服务器名称,默认为localhost:3306
如 :$con=mysql_connect(“localhost”,”dong”,”123abc”);
If(!$con){
die(“counld not connect ” .mysql_error());
}
26、脚本一结束就会关闭连接,如需提前关闭数据库连接,用mysql_close()
如:mysql_close($con)
27、echo $m1 = memory_get_usage(); //memory_get_usage()获取当前PHP消耗的内存