前排提示:本篇较长,预估阅读并实践大约需要15分钟左右。请在评论区告诉我,你用了多久,方便我在之后的图文中合理安排内容。
———————————
大家好,由于一些原因,我将不再使用之前推荐的notepad++编辑器进行演示,在另一篇新的#4中我具体阐述了原因并提供了代替方法,由于我的考虑不周,在此非常抱歉。
新的#4:
https://www.coolapk.com/feed/6819756
———————————
##字符串类型的操作
碍于地点限制,今天仍用sololearn演示,
使用电脑端的同学,请在我第一篇演示中同样目录下的index.php里操作本文内容,并打开Apache,从localhost访问。如果改过Apache的端口号,记得在localhost之后加上【:端口号】,如localhost:801,才能正常访问。
昨天的#3中,
我们介绍了变量和变量类型。
并使用了字符串变量来表示hello coolapk。
还介绍了数字在php中的两种类型,
一种是整数,对应数学中的整数,
另一种是浮点数,对应数学中的小数。
我之前提到,变量类型对应到php中可以看做是一套规则。
对于数字类型(整数和浮点数)来说,+-×÷是有意义的(计算机中用*代表×,/代表÷),它们可以进行数学运算。
而对于字符串类型,这套规则是没有意义的,如果你这样使用,
结果会是,
是不是很奇怪,两个字符串相加结果是0?
这是因为你使用了错误的规则。
如果你用过c或者Java,那么对字符串+字符串这样的形式应该不陌生,这是用来连接两个字符串的做法,
即我们期待的结果应该是hello coolapk,而不是一个0。
tips:请注意$b中最前面的空格,两个echo在两行并不代表会输出空格或换行。
而在php中,对于字符串的连接,规则是使用.符号,就是小数点符号。
正确的结果,
.就是字符串类型变量的规则,如果你用在数字类型上,也会得到奇怪的结果。
除此之外,有必要提及一下字符串类型变量两边的”(一对单引号),正常情况下,它也可以用一对双引号””代替。
如果你记忆比较好,你会记得我在之前说过“单引号内的所有内容都会被看作字符串”,然而我没有说“引号内的所有内容”。
而双引号当中可以直接写入变量,
但在单引号中写入变量,
然鹅,我并不推荐你经常这么用,php并不是那么的聪明,而你有时候会犯错。而且双引号由于要识别变量,运行速度会比单引号慢。
如果你非要用,记得在变量两边加一对{},
字符串类型变量的另一套规则是转义字符,
简而言之,这些字符在php中可能无法直接输出,可能是有特殊意义,如果你想输出这些字符或效果(比如换行)需要用别的代替。
PHP中的转义字符有,
(双引号中):
“\n” ==>换行
“\r”==>回车
“\t”==>水平制表符
“\\”==> 反斜杠
“\$” ==>美元符号
” \” ” ==>双引号
(单引号中):
‘\\’==> 反斜杠
‘\”==> 单引号
此处@阿酷 [#doge吃惊]
比如我想让hello和coolapk换行显示,
除了字符串与数字,另一种常用的变量类型是布尔,它的值只会有两个,真与假,对应到php中,就是true 和 false。
布尔变量同样不需要定义类型,直接使用即可
如果。
但如果你像我这样直接输出这两个布尔变量值话,你会得到以下的结果,
结果的1是true在计算机中的形式,而false是不在echo中输出的。
这个结果你大概看不出有什么意义,而实际上,布尔变量在多数时候也不会直接echo,它主要被用作逻辑判断,具体我们会在之后学到,现在你先认识一下就行。
———————————
##注释与函数###注释,
是我们在程序中的想法,如果这份源代码不只你一个人看,注释可以帮助别人理解你的思想,也能帮你回想它的作用。
php会自动忽略注释,把它们看作空格,从而不影响程序执行。
php中的注释分为两种,
//,两道斜杠是单行注释,
以/*为起点,以*/为终点,这是多行注释
编辑器会帮你把注释变灰色,表示不执行。
如果再运行它,将没有任何输出。
马上你还将会看到我的注释。
———————————###什么是函数?
之前我们的echo就可以看作函数(虽然实际并不是),函数就是一个指令,使用特定的指令(函数)就能做特定的事。
比如echo就能输出内容。
函数的形式像这样,
以function作为函数开头(标志),hello是函数名称,{}花括号之间是函数语句。
hello()是使用方式,hello就是函数名称。
结果是这样,
我们只是把之前写过的东西放到了函数里,这样之后就能直接用了,而不需要再去重写。
函数的使用就是为了提高效率。
请注意,与变量不同,函数名称不区分大小写。但同样不能以数字开头,
HELLO()的输出同样是hello coolapk,说明它其实也是hello函数。
但是这样的函数真的够方便吗?如果我们有时候也想说better coolapk,现在的函数显然满足不了我们,还是得去改函数里的内容。
那么在coolapk不变的情况下,能否给“hello”那个位置一点自由发挥的空间呢?
当然可以,
在函数名后的那个括号并不仅仅是装饰,它里面可以定义参数,参数也是一个变量,只不过在使用函数的时候才会用到它。
hello和HELLO虽然使用的是同一个函数,但由于参数不同,结果也不同。
———————————
## 变量的使用范围(作用域)
当你在php中写下一个变量,一般情况下,在整个程序中你都是可以用的,只是一种情况除外,那就是在函数中。
如果想在函数中使用函数外部变量,需要进行全局变量关键字声明,
除了使用$GLOBALS和global来人为定义全局变量,
php自带了其他八种超级全局变量,
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
超级全局变量在函数中也可以直接使用。
先认识一下,以后我们会用到其中几种。
———————————
#可变变量
可变变量是php中的一个特色。
它用一个变量的值作为另一个变量的名称。
$a=’hello’;
$$a=5;
两个$号是可变变量的标志。
此时$hello=5,变量名hello就是$a的值;
如果ehco $hello,你也会得到5。
试着理解一下,不理解也没关系,他确实不太容易理解,之后我会详细介绍它。
———————————
#常量
常量就是不可变的变量。
如果你想使用的变量没有重新赋值的需要,你就可以把他改写成常量。
常量的形式是这样,
define(‘A’,’hello’);
这就是一个名为A,值为hello的字符串常量。
输出常量时不需要$符号,
直接echo A; 即可。
tips:为了区分常量变量,推荐常量全部大写。
———————————
总结
1.字符串操作,使用【.】小数点连接字符串。
2.单双引号的区别,双引号内可以识别变量。
3.单双引号的转义字符,网页中使用br(加<>)来换行。
4.布尔变量,只有true和false。
5.注释的写法,单行//,多行/*xxx*/。
6.函数的写法和用法以及参数。
如:function hello($a){}
7.变量的使用范围(作用域),全局变量global,以及超级全局变量。
8.可变变量(仅认识)。
9.常量,define(‘A’,’Hello’);使用无需$标志。
———————————
好了,今天的内容有点多,静下心来慢慢理解一下,你是坠棒滴,明天就简单啦!
记得留言你的学习时间#(真棒)
谢谢观看,明天见#(太开心)