php基础教程
前言
这是我总结的php基础内容,完全由我一字一句写出来的,绝非复制粘贴网上的教程
其中参杂了一些我的个人见解,如果有不严谨或者不正确的地方请指出,我会更正
以后,我会逐渐完善本篇教程
为什么要学习php?
根据w3techs官方显示,78.7%网站的服务器端编程语言使用PHP,其次是ASP.NET占比10.5%,第三是Java占比3.5%,Python则排名在第七占比1.4%。
虽然网上对php的唱衰不断,但是数据可以说明一切,php依旧是老大,如果因为别人的三言两语就放弃学某一门语言,那根本就是无聊之举
php编译器
推荐使用phpStudy 2018版,用nodpad++来写php代码
1.代码格式
复制代码 隐藏代码
<?php中间是php代码?>
注意,php语句结尾要有 ; 号
例:echo "helloworld";
2.注释
复制代码 隐藏代码
单行注释://此乃单行注释多行注释:/*
此乃多行注释
*/
3.输出
复制代码 隐藏代码
1.echo "helloworld";
//echo能输出多个字符串,但无返回值
2.print "helloworld";
//print只能输出一个字符串,如果输出成功,则返回1,即true;反之则返回0,即false
4.变量
变量格式为: $+ 变量名 例:$bob
变量名格式:
1.不能有空格
2.只能是字母,数字和下划线
3.特殊符号不可以
变量声明
复制代码 隐藏代码
<?php$bob = 1;$hacker = "helloworld";$hello = true;?>
5.常量
复制代码 隐藏代码
<?phpdefine("bob","hello",true);//常量用define来定义,格式为:define(常量名,常量值,是忽略大小写错误)//注意,是否忽略大小写错误,如果是true,则忽略大小写错误,如果是false,则不忽略大小写错误,默认是false?>
例子:
复制代码 隐藏代码
<?phpdefine("bob","hello",true);echo bob;//正确写法,输出helloecho BOB;//错误写法,会报错define("abc","hi",false);echo abc;//正确写法,输出hiecho ABC;//正确写法,输出hi?>
6.函数,类,命名空间
函数:
复制代码 隐藏代码
<?phpfunction bob($bob,$hello)//函数声明格式:function+函数名(参数){函数内容}
{
echo $bob;
echo $hello;
$hakcer = $bob + $hello;
return $hacker;//如果有返回值,加上return}echo bob(1,2);//函数调用:函数名(参数)?>
结果:
复制代码 隐藏代码3
类:
复制代码 隐藏代码
<?phpclass bob{
echo "hello";//类定义格式:class + 类名{要执行的代码}}?>
命名空间:
复制代码 隐藏代码
<?phpnamespace bob{
echo "hello";//命名空间定义格式:namespace + 空间名{要执行的代码}}?>
7.变量的作用域
复制代码 隐藏代码
<?php$bob = 1;//在函数之外声明的变量,关系到全局,叫全局变量echo $bob;function bob(){
global $bob;//全局变量不可以在函数中直接调用,要先用giobal引用 echo $bob;
static $hakcer = 1;
/*在函数之内声明的变量,关系到局部,叫局部变量,局部变量只能在函数内部使用
函数中的局部变量在函数执行后就会删除,如果需要保存,要用static */}?>
8.单引号和双引号的区别
双引号解释字符串中的变量和转义字符
复制代码 隐藏代码
<?php$bob = "hackerbob";echo "hello $bob";?>
结果:
复制代码 隐藏代码
hello hackerbob
单引号不解释
复制代码 隐藏代码
<?php$bob = "hakcerbob";echo 'hello $bob';?>
结果:
复制代码 隐藏代码
hello $bob
9.字符串
输出时,字符串之间可以用 . 来拼接
复制代码 隐藏代码
<?php$a = "hello";$b = "world";echo $a."bob".$b;?>
结果:
复制代码 隐藏代码hellobobworld
字符串相关函数(比较重要的):
复制代码 隐藏代码
strlen()//获取字符串长度strpos(原字符串,要查找的字符串)//如果有则返回要查找的字符串在原字符串的第一个字母的下标,没有返回0,即falsechop(原字符串,要删除的字符串)//从右开始,删除原字符串中指定的字符串
10.数组
格式:变量 = array(数组内容)
1.数值数组:
复制代码 隐藏代码
<?php$a = array("hello","hi,"bob");
echo $a[0];//数值数组中的数据通过下标访问
?>
结果:
复制代码 隐藏代码hello
2.关联数组:
复制代码 隐藏代码
<?php$a = array("a" => "hello","b" => "hi");//关联数组其实就是给下标取了一个别名而已echo $a['a'];//访问时用别名访问?>
结果:
复制代码 隐藏代码hello
3.多维数组:
复制代码 隐藏代码
//其实多维数组就是几个数组嵌套在一起,下面是一个三维数组$bob = array(
array(
array(1, 2),
array("hello", "hi"),
),
array(
array("bob", "hacker"),
array(1,2),
),
);echo $bob[0][0][0]//也是从最外边的数组访问到里面
结果:
复制代码 隐藏代码1
11.运算符
算术运算符:
复制代码 隐藏代码
<?php$a = 1;$b = 2;$a + $b;// 加法运算 3$a - $b;//减法运算 -1$a * $b;//乘法运算 2$a / $b;//除法运算 0.5$a % $b;//取余 2-$a;//取反 -1$c = "hello";$d = "world";$c.$d;//合并字符串 helloworld?>
赋值运算符:
复制代码 隐藏代码
<?php$a = 3;$b = 2;$a = $b;//$a = 2$a += $b;//$a = 5$a -= $b;//$a = 1$a *= $b;//$a = 6$a /= $b;//$a = 1.5$a %= $b;//$a = 1
递增/递减运算符:
复制代码 隐藏代码
$b = 2;
$a = ++$b;//$a = 3$a = $b++;//$a = 2$a = --$b;//$a = 1;
$a = $b--;//$a = 2
比较运算符:
复制代码 隐藏代码
$a = 1;$b = "1";$a == $b;// 比较数值,等于返回true,反之返回false$a === $b;//比较类型和数值,等于返回true,反之返回false$a != $b;//比较数值是否不等于,不等于返回true,反之返回false$a <> $b;//比较数值是否不等于,同上$a !== $b;//比较数值和类型是否不等于,不等于返回true,反之返回false$a < $b;//比较$a是否小于$b,小于返回true,反之返回false$a > $b;//比较$a是否大于$b,大于返回true,反之返回false$a <= $b;//比较$a是否小于等于$b,小于等于返回true,反之返回false$a >= $b;//比较$a是否大于等于$b,大于等于返回true,反之返回false
逻辑运算符:
复制代码 隐藏代码
a and b;//a,b都为true,则返回true,相当于a && ba or b;//a,b至少有一个为true,则返回true,相当于a || ba xor b;//a,b仅有一个为true时,则返回true
12.判断
1.if语句
如果条件为真,则执行代码
复制代码 隐藏代码
<?phpif(1 < 10){
echo "1<10"//if(条件){要执行的代码)}
?>}
2.if....else....语句
如果条件为真,则执行if处的代码
其他情况,执行else处代码
复制代码 隐藏代码
<?phpif(1 < 10){
echo "1 < 10";//if(条件){要执行的代码}}else{
echo "1 >= 10";//else{要执行的语句)}?>
3.if....elseif.....else......语句
如果if条件为真,则执行if处代码
如果elseif条件为真,则执行elseif处代码
其他情况,执行else处代码
注意:elseif可以放多个
复制代码 隐藏代码
<?php$a = 5if($a < 10){
echo "a小于10";//if(条件){要执行的代码}}elseif($a > 10){
echo "a大于10";//elseif(条件){要执行的代码}}else{
echo "a等于10";//else{要执行的语句}}?>
4.switch语句
如果第一个case为真,则执行第一个case处代码,往后依此类推
所有case都不对,则执行default处代码
复制代码 隐藏代码
<?php$a=10switch ($a)
{case 1:
echo "1":
break;case 2:
echo "2";
break;case 3:
echo "3";
break;default:
echo "无法识别";
}?>
结果:
复制代码 隐藏代码1
13.循环
1.while循环
判断条件是否为真,如果为真则执行代码,执行完毕后再判断条件是否为真
复制代码 隐藏代码
<?phpwhile(1<10){
echo "1<10";//while(条件){要执行的代码)//运行后会不停输出1<10}
?>
2.do....while....循环
先执行一次代码,再判断条件是否为真
复制代码 隐藏代码
<?php$a = 0do{
++$a}while($a < 10);?>
3.for循环
先执行初始化代码,再判断,如果为真,就执行代码,执行完后再执行增量代码,再判断
注意:初始化代码只执行了一次
复制代码 隐藏代码
<?phpfor ($a=10; $i>4; $i--)
{
echo $a}?>
4.foreach循环
foreach是用来遍历数组的
复制代码 隐藏代码
<?php$a = array("hello","hi")foreach($a as $b){
echo $b}?>
结果:
复制代码 隐藏代码
hellohi
14.魔术常量
1.LINE
复制代码 隐藏代码
<?phpecho __LINE__//__LINE__返回当前行数?>
结果:
复制代码 隐藏代码2
2.FILE
复制代码 隐藏代码
<?phpecho __FILE__//__FILE__返回当前文件路径?>
结果:
复制代码 隐藏代码
E:\bob\bob.php
3.DIR
复制代码 隐藏代码
<?phpecho __DIR__//__DIR__返回当前文件所在的文件夹?>
结果:
复制代码 隐藏代码
E:\bob