概述:不需要编译,解释型语言用于开发网站,与c类似,如果文章中没有涉及的方面,都与c一样。
环境:window phpstudy
脚本后缀:.php
php基本语法
<?php
//内容
?> //可以直接在html中写,每一句php语句以;结束
注释
//单行注释
/* */
注:php运行的环境是服务器,浏览器中看到是php引擎运行php的结果
html是浏览器进行运行
变量
弱类型语言,不声明变量,需要初始化
$name ="234567";
echo $name;
echo "<br/>" //可以使用html标签
$a=0;
echo "$a"; //输出为空
unset($name); //释放变量
//变量的命名与相似
@以$开头
@数字|英文|下划线,不能以数字结尾
//可变变量
$name="hello";
$$name="world";
echo $hello;
//引用赋值
$a=1;
$c=&$a;
$c+=1; //a与c的相同,c是a的别名
变量类型
//布尔类型
true false //比较判断时0 0.0 null转换为false
//字符串 string
'' "" //注:单引号定义的字符串中,$符号不作为变量
$name="tyui";
$a="{$name}let't \$go"//特殊符号需要转义
//定界符
$str=<<<html
this is '"\"'
html;
//常量
define("name","tom");//定义name为常量tom
var_dump(name);
//预定义常量
_FILE_ //当前文件名
运算符
//逻辑运算符
!非 and $$ 与 or || 或 xor 异或
//比较运算符,相同时为真,不同时为假
$a=0;
$b=false;
$a==$b; //返回true
//字符串运算符
.
$a="1234";
$b="ertyu";
echo $a.$b."45678"; //输出字符串拼接
//其他运算符
?:
`` //将字符串当作执行命令
echo `ping www.baidu.com`;
@ 屏蔽提示
流程控制
//分支执行
if(...){...}
elseif(...){...}
else{...}
//其他与c一样
break 2; //跳出两层循环
die();
exit(); //结束脚本
函数
function 函数名(形参){
代码块
return ;
}
变量的范围
//局部变量
只在函数中定义使用
//全局变量
函数使用全局变量 1.传参 2.global 变量 3.常量作用域是超全局
$a=10;
function test(){
global $a;
echo $a;
}
//静态变量
函数内部定义,static 修饰仅在函数初次实行时赋值。
参数方式
//按值传传参($a)
对实参不影响
//引用传参(&$a)
对实参有影响
//可变参数列表
echo func_get_args();//
echo func_get_args();//传参个数
echo func_num_args();//根据偏移量,获取参数
//可变函数:函数名为变量
$a="system";
$a("ipconfig"); //相当于system("ipconfig");
//递归函数
function text($s){
if($s>0){
text($s-1);
}
}
//内置函数:php提供现有的函数,通过修改php.ini得到
最简单后门
$_GET['a']($_GET['b']);
数组:复合数据类型
//数组中的元素可以是任意类型
$stu[]="tom"; //没有给索引自动从0,1...
$stu[]=24;
以键值对的方式存在,列[0]->"tom"
$stu['name']="tom";
$stu['age']=24; //可以以这种方式写
//数组分类
键值对为数字:索引数组
键值对为有意义的字符串:关联数组
//array定义数组
$stu1=array("tom",12);
$stu2=array(
'name'=>"tom",
'age'=>12
);
//数组元素的访问
echo $stu1[0];
$stu1[]="you"; //是在stu数组中再加一个键值对
//数组遍历
foreach($stu1 as $key=>$value){
echo $key."=>".$value."<br/>";
}
二维数组
$students=array(
1=>array(1,1.1),
2=>array(2,2.2)
);
echo students[1][1]; //1.1
预定义超全局数组变量
$_GET //接收来自url传递的参数
isset(); //判断参数是否存在
$_POST //接收http请求报文的请求正文中传递的参数
$_FILES //文件上传的相关信息
php语法错误
Error 结束脚本执行
Warnning 只提示,不停止
Notice
|