您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
2-3 常量及数据类型考察点
发布时间:2020-10-02 12:16:50编辑:雪饮阅读()
即便花括号在单引号中,只要最外层是双引号则该单引号内部的变量仍旧可以解析
这个算是一个很小的技术细节,因为用的很少,一般直觉至少我是觉得应该解析为纯字符花括号包含着一个内容。那么我们就来看看:
<?php
function myDump($val){
echo "<pre>";
print_r($val);
echo "</pre>";
}
$a=7;
$str="abcdef'{$a}'";
myDump($str);
运行结果:
abcdef'7'
这是因为双引号可以解析变量,而这里变量用花括号,即便花括号在单引号中。
Heredoc
比较大的文本字符串需要换行则可以用EOF来定义,而这种定义方式称为Heredoc,如:
<?php
function myDump($val){
echo "<pre>";
print_r($val);
echo "</pre>";
}
$str=<<<EOT
toilet
厕所,盥洗室
seasons
[天]季节,四季
cinema
电影,电影院
announce
宣布,述说
maintainer
维修工,保持器
EOT;
myDump($str);
运行效果如:
toilet
厕所,盥洗室
seasons
[天]季节,四季
cinema
电影,电影院
announce
宣布,述说
maintainer
维修工,保持器
Newdoc
既然普通字符串分双引号与单引号,则大文本需要换行这类字符串也是有单引号和双引号的区分定义,那么大文本需要换行这类字符串的定义称为Newdoc,只是在定义的时候头的EOT加上单引号包裹下,如:
<?php
function myDump($val){
echo "<pre>";
print_r($val);
echo "</pre>";
}
$str=<<<'EOT'
toilet
厕所,盥洗室
seasons
[天]季节,四季
cinema
电影,电影院
announce
宣布,述说
maintainer
维修工,保持器
EOT;
myDump($str);
运行效果:
toilet
厕所,盥洗室
seasons
[天]季节,四季
cinema
电影,电影院
announce
宣布,述说
maintainer
维修工,保持器浮点计算的问题Php和JavaScript一样也存在浮点计算问题,如:<?php
function myDump($val){
echo "<pre>";
print_r($val);
echo "</pre>";
}
$a=0.7;
$b=0.1;
if($a+$b==0.8){
myDump('true');
}
else{
myDump('false');
}运行结果:false
显然这不是我们所期望的结果。
cpu做数据转换时候转换为二进制然后才开始计算,所以浮点数转换的时候有损耗精度
关键字词:单引号,双引号,EOT,Heredoc,Newdoc
下一篇:2-4 运算符考察点
相关文章
-
无相关信息