PHP学习 Day_02
程序员文章站
2024-03-14 14:08:16
...
数据类型
- 数据类型即对数据分类的一个划分
- 整型即整数(integer)
- 布尔型(boolean)即判断类型,就是真(true)和假(false)
- 字符串
- true和false外面不要引号!!!
- 没有变量成员的对象,变量值为NULL
- 一般来说,1就为
true
,0为false
echo
- 输出、显示
- echo 是在PHP里面最常用的一个输出、显示功能的命令。
例:<?php echo 123; ?> <?php $iphon6 =6088; echo $iphon6; ?>
字符串型
- PHP中声明字符串的三种方式
- 用单引号声明
- 用英文半角的单引号将字符串包起来
- 用双引号声明
- 在字符串两边加上双引号
- 用字界符声明(需要输入非常大段的字符串时使用)
- 在变量后面的等号写三个小于号(<<<)
- 然后在<<<后面写上字符(建议英文大写字符)
- 然后换行写上任意想写的字符
- 写完后,顶行,在行最开始处再写上<<<后面的字符和分号
<?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
许可协议。转载请注明出处!