PHP学习 Day

时间: 2023-12-16 admin IT培训

PHP学习 Day

PHP学习 Day

文章目录

  • 数据类型
    • 字符串型


数据类型

  • 数据类型即对数据分类的一个划分
    • 整型即整数(integer)
    • 布尔型(boolean)即判断类型,就是真(true)和假(false)
    • 字符串
  • true和false外面不要引号!!!
  • 没有变量成员的对象,变量值为NULL
  • 一般来说,true表示条件成立,可以理解为1,false则表示条件不成立,可以理解为0

echo

  • 输出、显示
    • echo 是在PHP里面最常用的一个输出、显示功能的命令。
      例:
<?phpecho 123;?><?php$iphon6 =6088;echo $iphon6;?>

字符串型

  • PHP中声明字符串的三种方式
    • 用单引号声明
    • 用英文半角的单引号将字符串包起来
    • 用双引号声明
    • 在字符串两边加上双引号
    • 用字界符声明(需要输入非常大段的字符串时使用)
  1. 在变量后面的等号写三个小于号(<<<)
  2. 然后在<<<后面写上字符(建议英文大写字符)
  3. 然后换行写上任意想写的字符
  4. 写完后,顶行,在行最开始处再写上<<<后面的字符和分号
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$zuijia = <<<ABC我们最好的遇见<br/>是<i>现在</i>
这样的<h1>四月</h1>
ABC;echo $zuijia;?>

双引号和单引号有什么区别呢?(PHP面试题中的高概率面试题)

  • 双引号解析变量,但是单引号不解析变量
  • 在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开
  • 如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来
  • 双引号解析转义字符,单引号不解析转义字符。但,单引号能 解析\'\
  • 单引号效率高于双引号,尽可能使用单引号
  • 双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析
  • 神奇的字符串拼接胶水——.点,用来拼接字符串
  • 我们将定界符声明字符串视为双引号一样的功能来看待

例:

1.双引号解析变量,但是单引号不解析变量

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$vae = '为了许嵩去卖肾';echo "$vae <br/>";  //输出“为了许嵩去卖肾”echo "$vae Will it be shown?<br>"";  //输出“为了许嵩去卖肾 Will it be shown?”echo '$vae';  //输出“$vae”echo "<br/>";echo '$vae Will it be shown?';  //输出“$vae Will it be shown?”?>

输出结果:

为了许嵩去卖肾 
为了许嵩去卖肾 Will it be shown?
$vae
$vae Will it be shown?
  • 由此可见,双引号需要解析变量,因此双引号的效率没有单引号高。为了更高效率通常使用单引号。

2. 在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$bad = '坏坏';$str1 = "$bab不坏";    //不加空格,会把“bad不坏”作为一个整体变量$str2 = "$bad 不坏";    //加空格,会连接变量$str3 = "$bad!!!Not Bad";    //使用特殊字符,使用特殊字符也可以连接变量echo "$str1 <br/>";  //显示未定义变量echo "$str2 <br/>";  //输出“坏坏 不坏 ”,这里会有空格echo "$str3 <br/>";  //输出“坏坏!!!Not Bad”?>

输出结果:

Notice: Undefined variable: bab不坏 in D:\phpStudy\PHPTutorial\WWW\1.php on line 7坏坏 不坏 
坏坏!!!Not Bad 
  • 由此我们就验证了上述的观点。(此处的可以只定义一个str变量,多次修改更容易理解。)

3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$bad = '以梦为马';$str = "{$bad}不负韶华";  //加入空格之后就不会显示空格echo "$str <br/>";  //输出“以梦为马不负韶华”?>

输出结果:

以梦为马不负韶华 

4.双引号解析转义字符,单引号不解析转义字符。但,单引号能 解析\'\

  • 常用的转义字符:
    • \n 回车
    • \t 缩进
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$string = "坚持一下\n给梦想\t一个机会";  //使用双引号定义变量echo $string;?>

在网页中显示的不明显,可以使用F12查看网页源代码。\n显示的结果就像是按了回车键。\t显示的结果就像是按了一个Tab键。

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$string = '坚持一下\n给梦想\t一个机会';  //使用单引号定义一个变量echo $string;?>

输出结果:

坚持一下\n给梦想\t一个机会
  • 可以看到单引号中的\t\n直接显示出来了,而没有编程按一次回车键和按一次tab键后的效果。所以双引号执行转义字符而单引号不执行转义字符。
  • 单引号效率高于双引号,尽可能使用单引号

5. 转义字符\(反斜线的使用)

  • 如果我们想要在声明的变量中加上双引号输出怎么办呢?按照我们正常的写法是这样的
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$cup = "芯死了,感觉卟会再"嗳"了";echo $cup?>

但是明显,这样运行不出来结果,因为一个引号包含一个变量,这里突然多了这么多的引号,就无法判断了,就会出现500了。500状态码是内部错误的警告!那么用什么方法解决呢?

  • 将引号的原有意义去掉,即使用转义字符——\。转义字符不仅仅可以用于双引号,单引号也是同样的用法
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$cup = "芯死了,感觉卟会再\"嗳\"了";  //使用转义字符echo $cup?>

运行结果:

芯死了,感觉卟会再"嗳"了

这样就会达到我们想要的样子了。这句话是🐶肉肉说的,非主流少女就是她!

6. 双号和单引号可以互插!双引号当中插入单引号,单引号当中插入 变量,这个变量会被解析

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$ami = '江湖辽远';$me = "君不见'$ami',我只想见你";echo $me?>

运行结果:

君不见'江湖辽远',我只想见你

7. 字符串拼接点,用来拼接字符串

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$bad = '以梦为马';$str = "{$bad}不负韶华";echo "$str <br/>";?>

以上是我们在讲双引号可以解析变量的时候的代码,使用这种方式连接字符串也可以,但是问题是效率没有纯单引号高,而且如果我们有多个字符串需要拼接,那就会很麻烦了。

  • 使用.来拼接字符串
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$name = 'I am Bad.';$sex = 'I am a boy.';$hobby = 'I like Roller Skating.';$like = 'I like listen music.too.';$end = 'You can ask me to play roller skating together!';echo $name.$sex.$hobby.$like.$end;?>

运行结果:

I am Bad.I am a boy.I like Roller Skating.I like listen music.too.You can ask me to play roller skating together!

这样我们直接使用变量名加.就可以实现字符串的拼接了,方便了很多。所以对于我们上面使用大括号的代码也可以进行优化。

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$bad = '以梦为马';$str = $bad.'不负韶华';echo "$str <br/>";?>

8. 将定界符声明字符串视为双引号一样的功能来看待

<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");$weilai = '努力才有未来';$mimang = '不努力就会迷茫';$dingjie = <<<ABC如果'$weilai'那么\t我一定会加倍努力因为'$mimang'所以<br/>我\n会<i>努力</i>变得<h1>更好</h1>ABC;echo $dingjie;?>
效果可以自己尝试

由执行的结果可以看到,\n\t、双引号、单引号都可以被执行,显示。这就是定界符的特点。

以上内容,如有错误或不详,敬请指出。
本文作者: 坏坏 本文链接: 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!