在看这篇博客之前,希望您有一定的HTML、CSS基础。当然,如果之前学过其他的高级语言,那么入门PHP对您来说将会是一件很轻松的事。
关于PHP的基本介绍,这里就不在赘述,可以参看这个资料 PHP(计算机编程语言)
PHP的运行环境以及IDE的安装,请查看博主之前的博客PHP开发环境的搭建——PHPStorm的安装使用
php是服务器端的脚本语言,它在服务器端运行后,默认会以HTML的形式返回运行结果。它的代码文件通常可以包含HTML、CSS和Javascript和PHP脚本代码。php的代码文件默认后缀是.php
。
php的脚本代码格式可以有以下两种形式:
<?php// PHP代码?>
<?php// PHP代码
这两个的区别就是有无 ?>
作为结尾。那么这两种格式分别可以在哪些情况下可以用呢?
对于第一种,科普小知识对于所有情况下都是适用的。
对于第二种,因为PHP代码中可以包含HTML、CSS等代码。所以,当代码文件中含有HTML标签时,则不能用(如下test1.php
)。当代码文件中只包含php代码块时,则可以使用(如下代码test2.php
)。
test1.php
下面这个代码代码会报
Par error: syntax error, unexpected '<', expecting end of file in D:\PhpstormProjects\untitled\index.php on line 14
<!doctype html><html lang="en"><head> <meta chart="UTF-8"> <meta name="viewport" content="width=device-width, ur-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body><?phpecho "hello world";</body></html>
test2.php
<?phpecho "hello world";
代码每行都必须以分号隔开
PHP的代码注释
<?php<?php// 这是 PHP 单行注释/// 这是文档注释 /* 这是 PHP 多行 注释 */?>
php的变量名命规则和其他高级语言基本类似,主要有以下几点:
变量名都以$
开头。变量名必须以字符或者下划线开始(即$
后面跟着的第一个字符必须是字母或者下划线)。变量名区分大小写。变量名只能包含字母、数字和下划线。变量名不能含有空白字符,例如空格等。PHP是一个弱类型的语言,即在声明一个变量的时候,不需要指定它是什么类型的。系统会自动根据你给变量的值把变量转成对应的数据类型。
<?php$msg = "Hello world!";$month = 1;$year = 2021;$number = 20.111?>
PHP变量的作用域有四种:
local(局部作用域)global(全局作用域)static(静态作用域)parameter(参数作用域)所有在函数外部定义的变量为全局变量,全局全量在整个代码文件中(函数体内除外)可以被应用到。函数中声明的变量成为局部变量,而局部变量只能在声明它的代码段里可以被使用。
还有不管是全局变量,还是局部变量,都只能在它声明之后的语句中使用。
例子如下代码所示:
ps:echo为输出函数,可以把变量值打印出来
<?php $a = 1; // 全局变量function test(){ $b = 2; echo $b; echo "变量 a 的值为:$a ";}test();echo "变量 b 的值为:$b ";
运行上述代码会报下述错误。因为变量$a
为全局变量,无法再函数体中直接使用。而变量$b
为局部变量。无法在全局使用它。
2Notice: Undefined variable: a in D:\PhpstormProjects\untitled\index.php on line 7变量 a 的值为:Notice: Undefined variable: b in D:\PhpstormProjects\untitled\index.php on line 11变量 b 的值为:
如果在函数体中想使用全局变量,可以使用global
关键字。
<?php $a = 1; // 全局变量function test(){ $b = 2; global $a; echo "变量 b 的值为:$b <br/>"; echo "变量 a 的值为:$a <br/>";}test();
结果如下
变量 b 的值为:2变量 a 的值为:1
通常一个函数结束后,它声明的变量都会被释放掉。如果希望函数体中某个变量的值不被删除的话,那么可以在第一次声明的时候使用static
关键字。
<?phpfunction testStatic() { static $a = 0; echo "a的值为:$a<br>"; $a++;}testStatic();testStatic();testStatic();
结果为
a的值为:0a的值为:1a的值为:2
参数是通过调用代码将值传递给函数的局部变量。参数是在函数的参数列表中声明的。作为函数声明的一部分。
<?phpfunction test($msg) { echo $msg;}test("hello world");
结果为
hello world
与变量不同,常量在被定义后,它的值就不能被修改了。
它的命名规则和变量一样,都是由字母、数字和下划线组成,数字不能作为首字符出现。而且不需要加$
。
常量默认是全局的,使用的时候,也不需要用global
关键字声明。
使用define()函数定义常量。
bool define ( string $name , mixed $value [, bool $ca_innsitive = fal ] )
该函数有三个参数
name:必填参数,常量的名称,即标识符。value:必填参数,常量的值。ca_innsitive:可选参数,如果为true,该常量则大小写不敏感。默认是大小写敏感。<?phpdefine("WELCOME","hello world");define("jxj","jiangxiaoju",true);echo WELCOME;echo '<br>';echo JXJ;echo '<br>';function test(){ echo "函数中使用"; echo '<br>'; echo WELCOME; echo '<br>';}test();
结果
hello worldjiangxiaoju函数中使用hello world
PHP中数据类型有:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
字符串就算一个字符序列或者说是一个文本。例如:“Hello World”;
简单说,单引号或者双引号的内容就算字符串。
<?php$str1 = "hello world";$str2 = 'Hello World';echo $str1;echo '<br>';echo $str2;echo '<br>';
结果:
hello worldHello World
直接看代码。
在字符串中直接引用变量名即可。
<?php$a = 1;$str1 = 十月英语怎么写"a的值为:$a";echo $str1;$b = 1.1;$str2 = "b的值为:$b";echo '<br>';echo $str2;
a的值为:1b的值为:1.1
将两个字符串拼接成一个字符串可以使用PHP的并置运算符.
。
<?php$str1 = "hello";$str2 = "world";$str = $str1." ".$str2;echo $str;
结果为:
hello world
有时候需要字符串的长度,那么这时候就可以使用了strlen()
这个函数(关于函数的介绍在第九节)了。它的返回值是字符串的长度(字节数)。
<?php$str1 = "hello world";$len = strlen($str1);echo "str1的长度是 $len";
结果为:
str1的长度是 11
整型也就是整数,不包含小输部分的数字。
整数有正数或者负数。
整数可以用十进制、十六进制(以0x为前缀)、八进制(以0为前缀)三种形式表示。
ps:var_dump()函数可以返回变量的数据类型和值
<?php$a = 1;$b = -2;$c = 0xFFF;$d = 0123;var_dump($a);echo '<br>';var_dump($b);echo '<br>';var_dump($c);echo '<br>';var_dump($d);echo '<br>';
结果为:
int(1)int(-2)int(4095)int(83)
可以使用intval()
这个函数将字符串转成整型。
该函数的函数定义为int intval(mixed $var[, int $ba = 10])
第一个参数为字符串,第二个参数为进制数。默认为10。
<?php$str1 = "123";$str2 = "1000";$str3 = "0xFF";$a = intval($str1);$b = intval($str2,2);$c = intval($str3,16);echo $a;echo '<br>';echo $b;echo '<br>';echo $c;echo '<br>';
结果为:
1238255
整型之间的比较见下一节内容。
浮点数是带小数部分的数字,或是指数形式。
<?php$a = 1.111;$b = -2.111;$c = 1e10+10;var_dump($a);echo '<br>';var_dump($b);echo '<br>';var_dump($c);echo '<br>';
结果为:
float(1.111)float(-2.111)float(10000000010)
可以使用floatval()
这个函数将字符串转成浮点型。
<?php$str = "123.456";$a = floatval($str);var_dump($a);
结果为:
float(123.456)
布尔型的值有两种:true
和fal
。一般用于条件判断
$x=true;$y=fal;
数组就算可以在一个变量中储存多个值。这些值的类型可以互不相同。
数组的定义有以下两种方式:
<?php$arr1 = ["aaa",1,fal,123.12121];var_dump($arr1);echo '<br>';$arr2 = array("hello world",true,12132,455);var_dump($arr2);echo '<br>';
结果为:
array(4) { [0]=> string(3) "aaa" [1]=> int(1) [2]=> bool(fal) [3]=> float(123.12121) }array(4) { [0]=> string(11) "hello world" [1]=> bool(true) [2]=> int(12132) [3]=> int(455) }
更多用法参考第十节的内容。
对象数据类型也可以用于存储数据。不过必须先用class
关键字声明类对象。类是可以包含属性和方法的结构。
class Phone{ // 属性 var $color; // 构造函数 function _construct($color = "red") { $this->color = $color; } // 方法 function get_color() { return $this->color; }}
更多用法参考第十二节的内容。
NULL值就算变量没有值,NULL表示啥都没有。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
<?php$x="Hello world!";$x=null;var_dump($x);
结果为:
NULL
php中运算符有以下几种类型:
算术运算符赋值运算符递增/递减运算符比较运算符逻辑运算符数组运算符三元运算符算术运算符有 +
、-
、*
、/
、%
、-
、。
分别是加、减、乘、除、取模(除法的余数)、取反、并置(拼接两个字符串)。
<?php$a = 6;$b = 9;echo $a + $b;echo '<br>';echo $a - $b;echo '<br>';echo $a * $b;echo '<br>';echo $a / $b;echo '<br>';echo $a % $b;echo '<br>';$str1 = "hello ";$str2 = "world";echo $str1.$str2;
结果为:
15-3540.666666666666676hello world
赋值运算符有 =
、+=
、-=
、*=
、/=
、%=
、.=
。
例如:a += b
等价于a = a + b
。 其余几个也是类似。
<?php$a = 1;$b = 2;$b += 2;echo $b;echo '<br>';$c = 3;$c -= 3;echo $c;echo '<br>';$d = 4;$d *= 5;echo $d;echo '<br>';$e = 6;$e /= 6;echo $e;echo '<br>';$f = 7;$f %= 2;echo $f;
结果为:
402011
<?php$x=10; echo ++$x;echo '<br>';$y=10; echo $y++; echo '<br>'; $z=5;echo --$z; echo '<br>'; $i=5;echo $i--;
结果为:
111045
逻辑运算符有and
、or
、&&
、||
、!
。
and
和&&
都是表示与运算。例如:x and y、x && y 。学会感恩演讲稿只有当x和y都为true时,才返回true。否则为fal。or
和||
都是表示或运算。例如:x or y、x || y 。只有当x或y至少一个为rue时,才返回true。否则为fal。!
非运算。!x 如果x为true、则返回fal。如果x为fal,则返回true。<?php$x = array("a" => "hello", "b" => "world");$y = array("c" => "jiang", "d" => "xiaoju");$z = $x + $y; var_dump($z);echo '<br>';var_dump($x == $y);echo '<br>';var_dump($x === $y);echo '<br>';var_dump($x != $y);echo '<br>';var_dump($x <> $y);echo '<br>';var_dump($x !== $y);
结果为:
array(4) { ["a"]=> string(5) "hello" ["b"]=> string(5) "world" ["c"]=>为击破沛公军翻译 string(5) "jiang" ["d"]=> string(6) "xiaoju" }bool(fal)bool(fal)bool(true)bool(true)bool(true)
三元运算符:?:
。
格式为(expr1) ? (expr2) : (expr3)
当expr1为真时,返回expr2,否则返回expr3。
<?php$a = 11;$msg = $a > 0 ? "a大于0" : "a小于等于0";echo $msg;
结果为:
a大于0
通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
在代码中有时候我们需要根据不同的条件,执行不同更多代码段,那么这时候就需要用到条件语句。PHP中的条件语句 有以下几种:
if 语句 – 在条件成立时执行代码if…el 语句 – 在条件成立时执行一块代码,条件不成立时执行另一块代码if…elif…el 语句 – 在若干条件之一成立时执行一个代码块switch 语句 – 在若干条件之一成立时执行一个代码块语法结构
if (条件){ 条件为true时,执行这部分代码。}
<?php$a = 10;if($a>=10) { echo "a大于等于10";}
结果为
<?php$a = 10;if($a>=10) { echo "a大于等于10";}
语法结构
if (条件){ 条件为true时,执行这部分代码。}el{ 条件为fal时,执行这部分代码。}
<?php$a = 9;if($a>=10) { echo "a大于等于10";}el{ echo 'a小于10';}
结果为:
a小于10
语法结构。elif可以有一个,或者多个。
if (条件){ if条件为true时,执行这部分代码。}elif(条件){ elif条件为true时,执行这部分代码。}elif(条件){ elif条件为true时,执行这部分代码。}el{ 条件为fal时,执行这部分代码。}
<?php$score= 84;if($score>=85) { echo "优秀";}elif ($score>=70) { echo "良好";}elif ($score>=60) { echo "及格";}el{ echo "不及格";}
结果为:
良好
语法结构
switch (n){ ca label1: 如果 n=label1,此处代码将执行; break;ca label2: 如果 n=label2,此处代码将执行; break;default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;}
当n的值与某个ca的值相等时,就会该ca部分的代码。最后记得使用break跳出。因为当与某个ca匹配后,会执行后面所有的代码块。
对比一下以下两个代码的结果。
<?php$favcolor="red";switch ($favcolor){ ca "red": echo "你喜欢的颜色是红色!"; break; ca "blue": echo "你喜欢的颜色是蓝色!"; break; ca "green": echo "你喜欢的颜色是绿色!"; break; default: echo "你喜欢的颜色不是 红, 蓝, 或绿色!";}
结果为:
你喜欢的颜色是红色!
<?php$favcolor="red";switch ($favcolor) { ca "red": echo "你喜欢的颜色是红色!"; ca "blue": echo "你喜欢的颜色是蓝色!"; ca "green": echo "你喜欢的颜色是绿色!"; default: echo "你喜欢的颜色不是 红, 蓝, 或绿色!";}
结果为:
你喜欢的颜色是红色!你喜欢的颜色是蓝色!你喜欢的颜色是绿色!你喜欢的颜色不是 红, 蓝, 或绿色!
我们可以根据需要,重复地执行某个代码块。PHP中循环语句有以下几种。
while – 只要指定的条件成立,则循环执行代码块do…while – 首先执行一次代码块,然后在指定的条件成立时重复这个循环for – 循环执行代码块指定的次数foreach – 根据数组中每个元素来循环代码块只有条件满足的时候,才会执行。
语法结构如下。
while(条件){ 条件为true。执行这部分代码。}
<?php$i = 0;while ($i < 10) { echo "i的值为:$i<br>"; $i++;}
结果为:
i的值为:0i的值为:1i的值为:2i的值为:3i的值为:4i的值为:5i的值为:6i的值为:7i的值为:8i的值为:9
至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
语法结构
do{ 要执行的代码;}while (条件);
<?php$i = 0;do { echo "i的值为:$i<br>"; $i++;}while ($i < 10);
结果为:
i的值为:0i的值为:1i的值为:2i的值为:3i的值为:4i的值为:5i的值为:6i的值为:7i的值为:8i的值为:9
for 循环用于您预先知道脚本需要运行的次数的情况。
语法结构
for (初始值; 条件; 增量){ 要执行的代码;}
初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。PS:初始值和增量可以空着不写,或者有多个表达式、用逗号隔开
<?phpfor($i=0;$i<10;$i++){ echo "i的值为:$i<br>";}
结果为:
i的值为:0i的值为:1i的值为:2i的值为:3i的值为:4i的值为:5i的值为:6i的值为:7i的值为:8i的值为:9
foreach 循环用于遍历数组。
语法结构
foreach ($arr as $val){ 代码块;}
每进行一次循环,当前数组元素的值就会被赋值给 $val变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。
<?php$arr = ["hello", "world", 1111, 2222, "aaaaa", "bbbb"];foreach ($arr as $val) { echo $val.'<br>';}
结果为:
helloworld11112222aaaaabbbb
函数是一段具有某种功能的代码块。可以被重复调用。
通过关键字function
定义,接着一个函数名。在()
中可以放入零个或者多个参数。
语法结构
function functionName($param1,$param2...){ 执行的代码}
下面是一个简单的函数,可以打印出”Hello World”
<?phpfunction sayHelloWorld(){ echo "Hello World";}sayHelloWorld();
结果为:
Hello World
在调用函数的时候,我们也可以给函数传入一些值。
例如下面的例子,我们传入两个变量a和b,然后打印出a+b的值。
<?phpfunction add($a,$b){ echo ($a+$b).'<br>';}add(1,2);add(2.0,5.5);
结果为:
37.5
我们可以给函数的参数指定一些默认值。这样我们在调用的时候就不需要每次都传值过去了。
例如下面的例子,我们传入两个变量a和b,然后打印出a+b的值。b的值默认为10。
<?phpfunction add($a,$b=10){ echo ($a+$b).'<br>';}add(1);
结果为:
11
当你给参数设置了默认之后,那么该参数右边的参数存在参数时,也都要有默认值才行。
例如下面这种定义形式是错误的。
<?phpfunction add($a,$b=10){ echo ($a+$b).'<br>';}
品德教育当函数执行完,需要返回结果时,可以使用return。
例如下面的例子,我们传入两个变量a和b,返回a+b的值。
<?phpfunction add($a, $b){ $sum = $a + $b; return $sum;}$ans = add(1,2);echo $ans;
结果为:
3
PS:return语句除了可以用于返回函数的值以为,还可以用于结束该函数的执行过程,例如下面这个例子
<?phpfunction test(){ if(true){ echo "hello world"; return; } echo "aaaaaa";}test();
结果为:
hello world
关于数组的介绍,我们在第五节数据类型部分已经提到过。数组是一个可以在单个变量中保存多个值的特殊变量,而且数组中的值的类型可以不唯一。
数组的定义有以下两种方式。
<?php$arr1 = ["aaa",1,fal,123.12121];var_dump($arr1);echo '<br>';$arr2 = array("hello world",true,12132,455);var_dump($arr2);echo '<br>';
数组中每个元素结构默认为”key => value”。当没有指定key时,默认是从0开始。我们可以通过key来访问数组中的元素。
<?php$arr1 = ["aaa",1,fal,123.12121];echo $arr1[0];
我们也可以自己指定key值
<?php$arr1 = array();$arr1[0]="hello world";$arr1["msg"] = "success";var_dump($arr1);
结果为:
array(2) { [0]=> string(11) "hello world" ["msg"]=> string(7) "success" }
count() 函数用于返回数组的长度(元素的数量):
<?php$arr1 = ["aaa",1,fal,123.12121];echo count($arr1);
结果为:
4
<?php$arr1 = ["aaa",1,"hello",123.12121];$len =count($arr1);for($x=0;$x<$len;$x++){ echo $arr1[$x]; echo "<br>";}
结果为:
aaa1hello123.12121
关联数组使用我们自己分配的key。
<?php$arr1 = array();$arr1[0]="hello world";$arr1["msg"] = "success";var_dump($arr1);
结果为:
array(2) { [0]=> string(11) "hello world" ["msg"]=> string(7) "success" }
<?php$arr1 = array();$arr1[0]="hello world";$arr1["msg"] = "success";foreach ($arr1 as $item) { echo $item; echo '<br>';}
结果为:
hello worldsuccess
本文地址:https://blog.csdn.net/qq_43058685/article/details/112571857
本文发布于:2023-04-09 01:06:08,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d3055e8955d4abeb480c36f696ef2151.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP语法快速入门(基础篇).doc
本文 PDF 下载地址:PHP语法快速入门(基础篇).pdf
留言与评论(共有 0 条评论) |