web安全之php基础

学web,离不开PHP,看看最基础的,学点知识!

语法:<?php ....... ?>

1.变量

(1)PHP 变量规则

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

(2)变量的引用

$name = ‘aa’; $a = &$name; Echo $a;#共用内存空间
(2)可变变量

$a = “a”; $b =a; echo $$b;
(3)区别单引号与双引号

$i=’123’; $demo = “<p>$i</p>”; demo1=’<p>$i</p>’; echo $demo; echo demo1;

(4)关键字

global 关键字用于函数内访问全局变量。

static 关键字,当一个函数完成时,它的所有变量通常都会被删除。希望某个局部变量不要被删除,使用 static 声明变量

2.输出

(1)Echo 使用的时候可以不用加括号
(2)Var_dump($a) 数组
(3)Print_r($a) 数组

3.注释

// 这是单行注释、# 这也是单行注释、/* */多行注释

4.常量

设置常量,使用 define() 函数,函数语法如下:

 bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

define(‘a’,’1’,true); echo A;
define(‘a’,’1’,false); echo A;

5.数组

(1)Array与[]
在 PHP 中,array() 函数用于创建数组:
(2)数值数组(键为数字)
自动分配 ID 键:$cars=array("Volvo","BMW","Toyota");
人工分配 ID 键:$cars[0]="Volvo";$cars[1]="BMW";$cars[2]="Toyota";

遍历输出:
for($i=0;$i<count($cars);$i++)

echo &cars[i];
(3)关联数组(键为字符)
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
or:

$age['Peter']="35";$age['Ben']="37";$age['Joe']="43";

遍历输出:
foreach($age as $key => $value)

6.运算符

(1)PHP 字符串运算符

运算符 名称 例子 结果
. 串接 $txt1 = "Hello" $txt2 = $txt1 . " world!" 现在 $txt2 为 "Hello world!"
.= 串接赋值 $txt1 = "Hello" $txt1 .= " world!" 现在 $txt1 为 "Hello world!"


(2)PHP 比较运算符
运算符 名称 例子 结果
== 等于 $x == $y 如果 $x 等于 $y,则返回 true。
=== 全等 $x === $y 如果 $x 等于 $y,且它们类型相同,则返回 true。
<> 不等于 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 不等于 $y,或它们类型不相同,则返回 true。
。。。 。。。。 。。。 。。。。。。。
(2)逻辑运算符
and or xor && !
(4)数组运算符
运算符 名称 例子 结果
+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。

7.函数

(1)字符串函数
strlen()
md5()
strpos("Hello world!","world")
str_replace("world", "Kitty", "Hello world!")
strtoupper()
strrev() 反转字符串
strsub(str, start, length)
eregi(string pattern, string string, [array regs])字符串对比解析(不区分大小写)
ereg()类似,区分大小写
strcasecmp() 函数比较两个字符串(不区分大小写)
str_rot13()对字符串参数进行ROT13编码,ROT13是它自己本身的逆反
(2)其他函数
①自定义
function a(参数){......}
a(实参)
②库
exit()阻止下面代码执行
setcookie(name,value,expire,path,domain,secure)向客户端发送一个 HTTP cookie,
mysql_num_rows() 函数返回结果集中行的数目
mysqli_select_db() 函数用于更改连接的默认数据库
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有(没有更多行则返回 false。)

8.时间日期

(1)时间戳
time() 获取时间戳
data(“Y-m-d H:i:s”,时间戳) 转换时间戳

9.文件操作

(1)打开 $f = fopen(“./1.txt”,”r”) ;
(2)读 Fget($f);读一行 Fread($f,2); Fclose($f);
(3)写 Fwrite($f,’aaaa’)
(4)删 Unlink($f)

10.三元运算符

语法格式

 (expr1) ? (expr2) : (expr3) 

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

11.操作数据库

(1)连接 $a = mysql_connect(‘127.0.0.1’,’root’,’root’)
(2)修改 mysql_query(“查询语句”)