前言
工具 vscode 配置环境php
温馨提示:不是零基础的(零基础学php 想从事开发建议去b站看猫叔或者黑马)
文末 有练习的源码
1、注释
php语句的注释 不多说 就说 两个技巧
快速单行注释 ctrl+/ 多行注释 ctrl + shift /
2、php的变量
php他是个 弱类型语言 什么是弱类型语言 就是对 数据类型 一点也不敏感 定义的时候不用和其他语言一样 加上 数据类型再定义 编程语言傻傻分不清:弱类型、强类型、动态类型、静态类型-腾讯云开发者社区-腾讯云
看一下这个大哥文章的的图就理解了
所以 他变量的定义 就很简单 演示一下
还有个特征大家可能不懂 你妹的 怎么以 __这个开头啊你妹的什么情况啊 这个不用着急 是后边的 魔术方法学的
3、变量的输出
因为这个php是c语言的儿子呀 所以 输出里 还有 print()
但是这个不常用 我们常用的就是 echo 呀
还有个就是 var_dump (这个输出数组的时候就和前两个有明显区别)
详细看上边 还有就是echo的好处就是可以拼接 其他的语言 进行输出 "\n" 换行
4、变量的作用域
分为 : 全局变量 、局部变量 还有一个 参数作用域
那参数作用域是什么 上边写了一个传参 这个就是 参数作用域 就是全局的变量 我们可以把全局变量当作参数传入 演示:
下一个就是使用 global 进行声明全局变量 这样我们的函数 aaa就可以使用前边的$a了
static 作用域 唉?不是这个的英文单词不是 静态的意思吗?
那这个的话纯当记个单词了 他的作用是 在我们程序结束的时候 我们可以让他不停止 继续运行 一些变量 演示:
那你妹的 直接给个 static 作用域让你不鸟我们
5、函数
这个不多讲 就是定义函数 function
函数调用了如果有返回值我们就直接可以echo
如果没有的话就需要我们 调用函数(echo写在函数内部) 才能显示
1、strlen() 获取字符串的长度
2、strpos 查找函数 用法 :
$a=strpos('helloword','o');
第一个位为 要查找的全部内容 第二个就是目标内容 返回的是一个 位数 没有找到就返回 false
但是现在我们查呀 返回的是 4
为什么呀 ? 因为这个位数是从 0 开始数 的呀
6、并置运算符
就是 ' . ' 我们上边演示了 echo 'xxxx'."\n" 表示执行的前者同时执行后者
7、运算符
这个我就 只说个 "==" 和 "===" 的区别
‘== ’ 举个 例子 $a=1;
$b=true
if($a==$b){
echo "true";}else{echo "no";
}
这个就是 两者的区别 第一个 就是bool true为真呀 而a也是真是存在的呀
=== 就会把两者进行判断 先转换为同一个类型再进行判断
这个在ctf 一些 php 代码审计 会用到 剩下简单的运算符看下边
还有个就是三元 运算符
什么是三元呀 顾名思义就是三个元素
在get请求里这个 很常见呀
$_GET['id'] ?? '1'; //传参id 你给值了就用你的 否则默认就是我的
8、循环
9、数组
这个很有意思
一元数组 定义数组我们使用 array("x","xx") 去定义
演示一下
我建议搭建输出全部数组使用 dump 这个确实很方便
关联数组
演示一下关联数组的写法 :
$c=array("peter"=>"35","lar"=>"36"); //什么意思啊这是 表示什么呀 peter 的下标是35
// lar 的是36 这个就是自定义下标
那这个怎么玩呀 我们输出一个 peter 试一下
我们可以 反过来输出吗 ? 利用35 输出peter 那不行的 就是因为这个指向呀
利用 foreach 遍历数组
一元数组的遍历(什么是遍历 就是把数据 按顺序一条一条的输出)
foreach 简单点说就是 把数组的元素每次迭代都给一个新的变量从而实现遍历
下边这个简单理解 就是把 a 里的值给了 k呀
关联数组的遍历 演示
简单理解就是把数组的值给到了 $k=>$c
总结
我们学习php主要原因就是为了在 渗透网站的时候可以看懂代码逻辑