太久没写PHP和数据库,正好趁现在来回顾并整理一下以前学习的知识:

这里我们使用phpstudy创建环境,然后在根目录www下运行;

001:

首先我们来看这样一段代码:

<?php
$sex='女';
if($sex=='男'){
echo '欢迎光临帅哥';
}
else{
echo '美女我们店里有化妆品';
}?>

输出产生的效果如下:

如果有编程基础的小伙伴,相信这段代码对你来说一定很简单:

我们再来分析一下这串代码:

<?php.....?> 这是PHP语言最基本的结构

$sex='女'; 这里我们定义一个变量名叫sex,并且给它附上一个值是女,值得注意的是,PHP中变量名前需要加$,然后这里的'女'外面的单引号表明这是一个字符,记住一个语句完成后后面要跟上;哦

if($sex=='男')   很明显这是一个条件判断语句,如果括号里的条件为真,那么我们就会执行if后面的语句,如果条件为假,那么计算机就会执行else后面的语句,这里我们输入的变量值为女,很明显不符合条件,判断为假,所以计算机会执行else里面的语句。

相信有小伙伴已经注意到了这里的=和==问题,这里=指的是赋值操作,==指的是等于的意思

还有相信有的小伙伴第一次在网页上输出的时候会输出一堆乱码,这是由于网页浏览器的编码问题导致的,我们只需要改一下编码就可以了

由于只是复习和入门,这里我对PHP的介绍不会过于深入

002:变量

上面我们已经讲到sex是个变量,那么变量是个什么东西呢?小伙伴们可以把变量形象的理解为一个盒子,他是用来装某个字符的盒子,以方便我们在代码中进行使用

要注意的是,变量的名字只能是字母、数字、下划线组成,并且数字不能在第一位,比如下面的代码:

$a='d';$a2='b';$_='123';$_=123;

留个问题,小伙伴们可以想一下这里'123'和123的区别在哪里?提示:可以使用后面即将学到的var_dump()函数来研究

003:运算符

我们以前学过常见的运算符有:

加+减-乘*除/、取余%、大于>、等于==、小于<、大于等于>=、小于等于<=、不等于!=

比如:

1+1=2

我们运行一下下面的代码:

<?php
$wang=10000;$li=1200;$a=15;echo $wang+$li ;
echo "</br>";echo $a*5;
?>

这里的</br>是换行符

对于其他的符号和我们在c语言里面学习的也差不多,小伙伴们可以自己运行尝试一下

004:控制结构

这里我们来了解三种简单的结构:

顺序结构、分支语句、循环语句

顺序结构:这里的顺序结构其实就是我们上面的代码那样,按照代码的顺序一句一句的去运行

分支语句:分支语句的核心就在于选择,比如我们在文章开头所见到的那串代码:

<?php
$sex='女';
if($sex=='男'){
echo '欢迎光临帅哥';
}
else{
echo '美女我们店里有化妆品';
}?>

这就是个分支语句

循环语句:不断地做某事   while()

比如说我们举个喝水的例子:

<?php
$water=1;
while($water<6)
{
echo '我喝了'.$water.'杯水,服务员请再给我一杯水</br>';
$water=$water+1;
}
echo '我喝了'.$water.'杯水,谢谢服务员';
?>

产生效果如下:

这里的.符号是用来连接的, 但是要注意的是,循环语句我们必须要给它一个停止的条件,否则这个循环就会不断地执行。

005:基本入门

学到这里的小伙伴,恭喜你,你已经学会PHP啦,下面我们来几道简单的题练练吧:

打印1-100

打印1-100的偶数

遇到7的倍数,打印字符A

遇到13的倍数,打印字符B

01:

<?php
$i=1;
while($i<=100)
{echo $i.' ';$i=$i+1;
}
?>

02:

<?php
$i=1;
while($i<=100){if($i%2==0){echo $i.' ';}$i=$i+1;}
?>

03:

<?php
$i=1;
while($i<=100)
{if($i%7==0){echo A.' ';}else{echo $i.' ';}$i=$i+1;
}
?>

04:

<?php
$i=1;
while($i<=100)
{if($i%7==0){echo A.' ';}else if($i%13==0){echo B.' ';}else{echo $i.' ';}$i=$i+1;
}
?>

05:

除了上面的代码,我们再来看看这样的代码:

<?php
$i=1;
while($i<=100)
{if($i%7==0){echo A.' ';if($i%13==0){echo B.' ';}}else{echo $i.' ';}$i=$i+1;
}
?>

这里我只是对上面的代码做了很小的更改,小伙伴们可以体会一下这串代码和上面代码的区别。

实际上,04里面的代码输出的才是能被7整除的代码和能被13整除的数,但是这里输出的是能被7整除的数和能被7和13同时整除的数

006:字符串处理函数

上面我们已经学会了PHP的一些基本知识,下面来点进阶的东西

字符串是什么?字符串其实就是计算机中的文本,对应的就是代码,代码是能被计算机执行的,但是字符串是不会被执行的

从前面的学习中小伙伴们可能都发现了,单引号和双引号里面的东西就是字符串,但是我们是否想过单双引号的区别呢?

下面我们来看看这串代码:

<?php
$a='b';
echo $a."</br>";
$b='$a';
echo $b."</br>";    //想想这里会输出什么?
$b="$a";
echo $b;             //想想这里会输出什么??>

输出结果如下:

通过观察输出结果我们发现,单引号括起来的$a输出的就是$a,但是双引号括起来的$a输出的是b,这就是单双引号的一个区别,php中' '括起来的东西输出的时候就直接是字符串,但是" "括起来的东西我们的PHP首先会检测它是否是个变量,如果变量存在就会对它进行解析

在安全中,很多时候黑客会输入一些恶意传参,那么我们怎么去过滤呢?

下面我们来学习两个字符串处理函数:

01:strstr()

这个函数有什么作用呢?

我们来写几串代码看看:

<?php
echo strstr("I love my country","love");
?>

运行结果如下:

这是匹配到的情况,如果匹配不到呢?

<?php
echo strstr("I love my country","sdf");
?>

可以发现没有输出,那么现在假设我们有个页面,我们不想让页面输出带有某串字符的东西,比如:"CNM"

那么我们可以怎么写呢?

<?php
$a='xxxx,hello,CNM';
if(strstr($a,'CNM')=='CNM')
{echo 'No';
}
else
{echo 'Yes';
}
?>

但是这么做我们很快就会发现一个问题,就是如果$a='xxxx,CNM,hello';这样的呢?有兴趣的小伙伴可以自己去深究一下

02:str_replace()

我们再来看看另外一个函数:

我们可以看到这个函数的作用是替换,格式是str_replace(要替换的字符串,替换成的字符串,在哪个字符串里替换)    诶嘿,那么是不是可以对上面的输出进行一些改造啦

<?php
$a='xxxx,hello,CNM';
echo str_replace('CNM','lalala',$a);
?>

多思考一下,如果这里我们把CNM改成cnm会发生什么?

03:

这里小伙伴们可以尝试这样的代码:

<?php
$a='hello'';
echo $a;
?>
hello'

输出之后我们会发现程序会报错,为什么呢?其实这也与我们学到的sql注入漏洞产生的原理有关,这是因为,'hello''中,单引号是成对存在的,所以第一个单引号会与后面一个单引号配对,的但是后面还有一个单引号怎么办?这时这个单引号就会寻找下一个单引号并且和它配对,如果这里我们要输出单引号呢?我们可以这样写:

<?php
$a='hello\'';
echo $a;
?>
hello'

我们可以发现正常输出,但是如果是双引号呢?其实也是一样的原理,小伙伴们可以把单引号换成双引号自己输出试试

007:数组

接下来我们学习数组,并且我们还会学习到一个重要的函数 var_dump()

如果你是有编程基础的小伙伴,相信你对数组这个概念一定不陌生

数组在我看来其实就是一排有编号的柜子(有不了解的小伙伴可以自己百度一下数组的概念)

那么我们来看看下面的代码:

<?php
$a=array('001'=>'我的帽子','002'=>'我的衣服','003'=>'我的手机');
print_r($a);
echo "</br>";
var_dump($a);
echo "</br>";
$b='23';
var_dump($b);
echo "</br>";
$c=23;
var_dump($c);
echo "</br>";
echo $a['001'].'</br>';
echo $a['003'];
?>

这里我定义了一个数组$a,然后001、002、003这些是数组的编号,=>后面指向的是数组里面的东西,输出数组这里我们是用print_r();为什么要用var_dump()?当我们不知道一个变量里面是什么东西的时候,我们可以用var_dump()输出这个变量,我们就能知道这个变量里面是什么东西

echo $a['001'];这是指定柜子的编号,然后输出指定编号的内容,我们来看看输出结果:

008:接受传参数据

学习完前面的知识,下面我们来尝试写个页面,首先我们来了解一下GET传参:

什么是GET传参?

当我们访问某个页面的时候,会出现?id=171这样的参数,这种在URL栏里面直接进行参数传参的方式我们称之为GET传参

像这样直接在页面内传入参数的方式我们称之为POST传参

问题来了,我们怎么使用PHP去写呢?

01:

我们运行这样的代码试试:

<?php
var_dump($_GET);
?>

通过前面学习的知识我们这里使用var_dump()函数看看GET里面是什么东西

传个参试试:

我们发现它是个数组,还记的怎么指定输出数组参数吗?后面要用到的哦

使用GET方式进行传参,我们通常使用方式是$_GET  ,这也被称为预定义全局变量

然后我们再写这样的代码看看:

<?php
if($_GET<60){echo '同学你这次考试不及格,继续努力';
}
else
{echo '同学你这次考试及格了';
}
?>

传入参数?id=100 我们发现输出正常,但.............是的吗?

我们再传入一个参数,发现输出却不正常了, 这是为什么呢?

前面使用var_dump输出的时候,我们看到这里输出的实际上是一个数组,那么在没有指定参数的情况下,无论我们输入什么都不会满足条件,所以,我们应该指定参数,将代码更改一下:

<?php
$fenshu=$_GET['fenshu'];
if($fenshu<60){echo '同学你这次考试不及格,继续努力';
}
else
{echo '同学你这次考试及格了';
}
?>

指定参数以后,我们传参输出就成功了。

好,再来想一个问题,我们平时见到的页面传参是这样的吗?

显然不是,还需要一个输入的框框对不对?

那么怎么写这个框框呢?这里就要用到表单标签了(关于表单标签的内容我会在我另外的文章中详细介绍,所以这里我只提供一些简单的介绍)

首先我们再原来index01.php文件里面写:

<form action='11.php' method='POST'>
<input type='text' name='fenshu'/>
<input type='submit' value='提交'/></form>

然后我们新建一个11.php文件写:

<?php$fenshu=$_POST['fenshu'];if($fenshu<60){echo '同学你这次不及格啊,加油继续努力';}else{echo '同学你及格了,继续保持';}
?>

好,我来解释一下这里代码的作用:

首先是<form action='11.php' method='POST'>  这串代码实际上是HTML代码,然后action后面的参数指的是我们要把参数提交到哪里,这里我们把参数提交到11.php文件夹里,method指的是我们以何种方式提交参数,注意,这里的GET,POST都要大写,到这里,有小伙伴可能会问,我怎么才能GET,POST两种方式都用呢?答案是使用REQUEST,有兴趣的小伙伴可以自己尝试

<input type='text' name='fenshu'/>  这里我们就需要用到一张图了:

这里我们建立了一个框,然后有了框是不是就可以传参,但是根据我们前面的经验,传参我们是要指定参数的对不对?所以这里我使用了name后面就是参数名,提交以后就会把我们输入的参数传到11.php里面,那么怎么提交呢?

<input type='submit' value='提交'/>  这就是这个按钮的作用了,value后面跟的是按钮的名字

然后我们随便提交一个参数试试:

提交一个10,我们发现输出正确,再提交一个100试试:

输出正确,好了,这就是一个最最最简单的提交页面啦,是不是很简单

我建议小伙伴们一定要自己动手实操,如果你在阅读文章的时候遇到什么问题或者存在疑问,欢迎给我留言或者私信我,空闲时间我会尽力帮各位小伙伴们解决

回炉重造--PHP编程速成相关推荐

  1. Vue回炉重造之封装防刷新考试倒计时组件

    你好,我是Vam的金豆之路,可以叫我豆哥.2019年年度博客之星.技术领域博客专家.主要领域:前端开发.我的微信是 maomin9761,有什么疑问可以加我哦,自己创建了一个微信技术交流群,可以加我邀 ...

  2. 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)

    文章目录 写在前面 三连杆平面机械臂 平行四边形操作臂 闭链结构 例:平行四边形操作臂 球形臂 拟人臂 球腕 斯坦福机械臂 带球形手腕的拟人化机械臂 DLR机械臂 参考文献 写在前面 本文所有机械臂均 ...

  3. 《回炉重造 Java 基础》——集合(容器)

    整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...

  4. 机器人学回炉重造(5-2):关节空间规划方法——梯形加减速(与抛物线拟合的线性函数)、S型曲线规划

    文章目录 写在前面 学习代码都记录在[个人github](https://github.com/xuuyann/RobotLearningCode)上,欢迎关注~ 梯形加减速(与抛物线拟合的线性函数) ...

  5. 真人电影中的幻想生物迷墙:索尼克为什么被骂到回炉重造?

    <大侦探皮卡丘>上映在即,当网友们对着雷佳音配音的皮卡丘大呼好萌好萌时,我们仿佛又来到了大型真香现场--明明在几个月之前,当人们看到毛茸茸的大叔音皮卡丘时还每个细胞都充满了拒绝. 也有一种 ...

  6. 机器人学回炉重造(2-4):运动学奇异位型分析

    文章目录 什么是运动学奇异位型? 例子:平面二连杆机械手的奇异位型 奇异位型解耦 腕部奇异位型 手臂奇异位型 转载:6轴串联关节机器人的奇异点 参考文献 什么是运动学奇异位型? 在初步系统地了解了机器 ...

  7. Vue回炉重造之封装一个实用的人脸识别组件

    你好,我是Vam的金豆之路,可以叫我豆哥.2019年年度博客之星.技术领域博客专家.主要领域:前端开发.我的微信是 maomin9761,有什么疑问可以加我哦,自己创建了一个微信技术交流群,可以加我邀 ...

  8. 机器人学回炉重造(2-3):基本雅可比矩阵与其他雅可比矩阵

    文章目录 基本雅可比矩阵 定义 求法 其他雅可比矩阵 定义 求法 补充:几何雅可比与解析雅可比 基本雅可比矩阵 定义 用笛卡尔坐标描述线速度(linear velocity)和角速度(angular ...

  9. 回炉重造之数据结构【一】基本概念

    回炉重造之数据结构[一]绪论 文章目录 回炉重造之数据结构[一]绪论 数据结构的基本概念 基本概念和术语 数据结构的三要素 算法和算法评价 算法的基本概念 算法效率的度量 数据结构的基本概念 基本概念 ...

  10. javacript回炉重造之基础细节点

    ascript之回炉重造 var n5=2e5 2*10的五次方 0x开头十六进制 0o开头八进制 0b开头二进制 typeof 用于检测数据类型 值类型(基本类型):字符串(String).数字(N ...

最新文章

  1. 前端性能优化之gzip
  2. linux shell 里面执行python 程序_Linux下编写脚本Shell和Python的区别?
  3. C 程序的存储空间记录
  4. 实现option上下移动_Django实战2-自动化运维之配置管理-05:字典管理功能实现
  5. babel 编译vue_如何对代码进行未来验证:使用Babel polyfills编译JavaScript VS
  6. jQuey/js 省市县三级下拉框联动的回显(简单易懂)
  7. 608. 两数和-输入已排序的数组
  8. 约翰·冯·诺依曼:一个向上帝买了挂的男人!!
  9. 网络聊天室Java群聊私聊_Java Spring + Spring MVC + Mybatis WebSocket实现网络聊天室(群聊+私聊)...
  10. BIOS 虚拟化技术
  11. 教育培训机构拼团招生小程序公众号
  12. linux下gzip用法,Linux gzip 命令的使用
  13. 改善睡眠的东西有哪些?促进睡眠的方法
  14. Python调用Matplotlib绘制分布点图
  15. PCB板材及叠层结构
  16. 图像渲染测试软件,Arnold渲染器之aiImage(ai图像)着色器介绍及渲染测试
  17. 北京 上海 天津 河北 融资性担保机构经营许可证
  18. Linux_网络_数据链路层协议 MAC帧/ARP协议 (以太网通信原理,MAC地址与IP地址的区分,MTU对IP/TCP/IP的影响,ARP协议及其通信过程)
  19. px4官网调参指南 多旋翼无人机PID调参指南
  20. linux命令远程下载文件

热门文章

  1. low memory killer
  2. idea从零到精通目录导航
  3. 现代软件工程 课件 软件工程师能力自我评价表
  4. openwrt 锐捷 单线多拨
  5. 甘特图、IPO图、DFD图
  6. 数据库中平凡函数和非平凡函数,完全函数依赖和部分函数
  7. 【P5385】【Cnoi2019】须臾幻境(LCT)
  8. graphpad导出图片不居中_Graphpad如何导出期刊所需图
  9. 服务器系统文件sam在哪里,SAM文件介绍
  10. 基于STM32C8T6的MLX90614-DCC红外无线测温系统