前言
欢迎来到我的博客
个人主页:北岭敲键盘的荒漠猫-CSDN博客
本文是我对php基础知识部分的一个整理。
适合有python,c(任意一门语言)基础的人看。
因为有编程基础苦于教程过多的讲解,所以我会更加简明清晰的整理这些知识点不做过多的废话,毕竟大多数人看博客更多的是当做资料来查阅嘛。
注释
单行注释://
多行注释:/*注释内容*/
文档注释:
/*
*内容
*内容
*/
案例演示:
这些注释不影响程序的执行。
变量
注意点:
1.变量要用$标识出来
2.经典的由数字字母下划线组成
3.数字不能开头
4.区分大小写
案例:
双解析
$a是b,当我们$$a相当于$b,所以会输出c
结果如下:
数据类型
简单列举(还是那些经典的类型):
布尔,整型,浮点型,字符串。
案例演示:
单引号双引号的区别:
双引号会解析,他会看里面有没有变量,给替换到里面。
单引号死脑筋,里面是啥他就输出啥。
案例演示:
运算符
常用运算符:
符号 | 作用 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 除(返回余数) |
. | 字符串连接输出 |
案例演示:
<?php
$a=10;
$b=11;echo $a.$b."<br />"; //.可以连接字符串
echo $a+$b."<br />";
echo $a-$b."<br />";
echo $a*$b."<br />";
echo $a/$b."<br />";
?>
输出:
赋值运算符:
比较简单:
a+=1就等于a=a+1
a-=1等于a=a-1
剩下的以此类推。
比较运算符:
符号 | 作用 |
== | 等于(数据类型可以) |
=== | 等于(必须全部一模一样包括值,类型) |
<> | 不等于 |
!= | 不等于 |
!== | 不绝对等于(可以类型不相等) |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
逻辑运算符
经典的c那一套:
&&并且
||或者
!非
三元运算符
语法: 条件?真执行:假执行
案例演示:
<?php
$a=1;
$b=($a==1)?"真赋值我这个":"假赋值我这个";
echo "$b";
?>
输出:
自增自减符号
a++(本条语句执行完毕后a自己增加1)
++a(a自己增加1,然后执行本条语句)
减法同理
案例演示:
<?php
$a=1;
$b=$a++;
echo "$b"."<br />";
echo "$a";
?>
结果
选择分支结构
(其实跟c一模一样)
if-else选择
语法:
if (条件){执行的代码}
else {执行的代码}
案例演示:
<?php
$a=1;
if ($a==2){echo "$a";
}
else {echo "no thanks";
}
?>
结果:
if-elif-else多分支
因为这些语言不像python那样有elif,所以要我们自己凑出elif的语法。
语法:
if (条件){}
else if (条件) {}
else if (条件) {}
else {}
案例演示:
<?php
$a=1;
if ($a==2){echo "$a";
}
else if ($a==1){echo "a=$a";
}
else {echo "no thanks";
}
?>
输出结果:
switch语句
(想了想只有python基础的人可能不知道这个语句,还是直接用案例解释一下吧)
案例加解析
<?php
$a=1;
switch ($a){ //这里给定a参数,那a参数跟下面的值进行比较case 1: echo "他是1";break; //如果a是1就执行这个case 2: echo "他是2";break; //如果a是2执行这个case 3: echo "他是3";break; //如果a是3执行这个default:echo "很明显都不是";break; //如果上面的值都没有找到就执行这个
}
?>
输出如下:
解释一下:这个函数是那你输入的那个值跟下面规定的值进行比较,如果这个值是下面case中的值的话,就可以执行后面的代码。如果规定的值都对不上,就会执行default的代码。
每个后面都有一个break。这个是指当你找到有这个值后执行完代码不会继续再向下找了。直接退出循环。
循环结构
(其实还是跟c一模一样,学了c基本这部分不用学了。。。python基础的话需要知道几个点)
for循环
(有编程基础都会,写法不同,不解释)
语法:
for (初始值;条件;变量增值){语句}
案例演示:
<?php
for ($i=1;$i<10;$i++){echo "$i";
}
?>
(忘记说了,php不会像python那样自动换行,所以输出的内容会连在一起,除非你自己加换行)
结果如下:
while循环
(基本也都会直接给语法和案例)
语法:
while (条件){
代码
}
案例演示:
<?php
$i=1;
while ($i<=10){echo $i;$i+=1;
}
?>
结果如下:
12345678910
do-while循环
python中没有这个概念,c中有。
语法:
do{
代码
}while (条件)
描述:也就是,他会先执行一边循环代码,再判断条件是不是要继续执行就是了。
案例演示:
<?php
$i=1;
do{echo "先执行一遍";$i+=1;
}while ($i<1)
?>
结果:
他根本不满足循环条件,但是还是执行了一遍。
循环控制符号
这个基本上跟所有语言都是一样的。
break跳出循环。
continue跳出这次循环,不多做赘述了。
数组
基础数组定义
数组在新版php(5.4以上)是有类似于python那样简单的定义方式的。老版的偏向c的形式那样。
新版定义:
$a=[1,2,3]
老版定义:
$a=array(1,2,3)
案例演示:
<?php
$a=[1,2,3];//新版定义
$b=array(4,5,6);//老版定义
var_dump($a);//查看a数组
var_dump($b);//查看b数组
?>
查看两个数组:
我python更熟练一点下面我用新版的形式进行了。
键值与索引
键值与索引理解
其实php的这个数组本质上完全等同于python的字典。
php的数组的索引就是python中的key。
默认是给我们索引,但是我们可以改变这个索引为其他的键值。
这是我们默认的键值(实际就是索引)
<?php
$a=[1,2,3];
var_dump($a);
?>
取数
看到了键值之后我们取数就可以用键值取。
<?php
$a=[1,2,3];
echo $a[0]."\n";
echo $a[1];
?>
输出:
修改键值与取数
<?php
$a=["one"=>1,"two"=>2,"three"=>3];
var_dump($a);
echo $a["one"]."\n";
echo $a["two"];
?>
通过上面的形式可以修改键值,修改后我们将不可以用索引去找这个数据,要用我们的键值取数据。
增添数据
不用函数的增添数据
$a[键值]=内容
我就不多说了,案例很直观。
<?php
$a=[1,"two"=>2,3];
$a[]=4;
$a["yes"]=5;
var_dump($a);
?>
结果:
array(5) {
[0] =>
int(1)
'two' =>
int(2)
[1] =>
int(3)
[2] =>
int(4)
'yes' =>
int(5)
}
数组内容的遍历
python写多了基本都是用for来遍历。但是php这个是个类似于字典的数组,for语法还没有python方便,所以用for来遍历显然不是最优解。php使用foreach循环遍历。
foreach有两个形式
//格式1
foreach (数组名 as value变量){
statement
}
//格式2
foreach (数组名 as key变量 => value变量){
statement
}
区别:格式一就是把value内容存到value变量中
格式二会把key赋值给key变量,把value赋值给value变量
话多了太复杂,直接案例:
<?php
$a=[1,2,3];
//格式1
echo "格式一的输出:";
foreach ($a as $one_value){echo $one_value;
}
echo "\n";
echo "格式二的输出:\n";
//格式2
foreach ($a as $two_key => $two_value){echo "key是:".$two_key." "."value是:".$two_value."\n";
}
?>
结果如下:
总结一下:格式一只能获取内容,格式二可以获取键值。
二维数组与多维数组
数组里面套数组
取数
<?php
$a=[[1,2,3],[4,5,6],[7,8,9]];
echo $a[0][0];
?>
遍历(俩foreach嵌套)
<?php
$a=[[1,2,3],[4,5,6],[7,8,9]];
foreach ($a as $value){foreach ($value as $value2){echo $value2;}
}
?>
函数
不解释了,所有语言都一样,都知道这个是啥。
基本函数定义
语法:
function 函数名(参数,参数){
代码内容
return 内容;
}
案例演示:
<?php$nm="大帅气";function test($name){echo $name;return '函数已完成';}echo test($nm);
?>
超简洁的描述:(虽然跟别的语言一模一样,但是还是简介一下吧)
1.return,函数的返回值
2.$nm全局变量整个程序都能用 $name局部变量只有函数内部可用
3.$name不是要用这个变量,而是外部传入一个变量,外部变量执行$name要进行的操作
变量作用域
描述:总结一句话,同一个变量,变量里面是里面的,外面是外面的。把外面的变量传到函数里面重新赋值,函数里面的变,外面的不变。
案例演示:
<?php$a=1;function test($n){$n=2;return "$n";}echo test($a)."\n";echo $a;
?>
案例描述:
我们外面全局变量a为1,我们把他当做参数传入test函数,函数中对他重新赋值。输出函数的变量和a。
我们可以看到,即使是在函数中重新赋值了这个变量,但是外面再来打印一下还是没有变。
如果我们有需求里面的变,外面也变的话。我们可以使用&
案例:
<?php$a=1;function test(&$n){$n=2;return "$n";}echo test($a)."\n";echo $a;
?>
这样我们在内部进行变量操作后,外部变量也就变了。
全局变量
描述:我们知道,函数内的变量是函数的,外面变量是外面的。我们上面那个方法可以在函数内对函数外进行操作。但是有个缺点,我们必须把参数传进去才能操作。如果我们不想传入这个变量,但是还想用外面的这个变量,那么就可以用这个方法。(global)
先看普通的案例:
<?php$a=1;function test(){$a=2;echo $a;}echo test()."\n";echo $a;
?>
函数内跟函数外输出a不一样。
我们加上global
<?php$a=1;function test(){global $a;$a=2;echo $a;}echo test()."\n";echo $a;
?>
现在函数内就是一样的了。
匿名函数
语法:
变量 = function(){
代码
};
变量();
案例演示:
<?php$a=function(){echo "我是个大帅比啊!!!!";};$a();
?>