PHP -- 数据类型
2019-06-28 本文已影响0人
潘肚饿兵哥哥
$x = 123; //这是十进制,输出显示: 123
$x = 0123; //这是八进制,输出显示: 83
进制换算:
个位*进制的0次方(任何数的0次方都是1) + 十位*进制的一次方 + 百位 * 进制的二次方
3 + 20 + 100 = 123 十进制
3 + 16 + 64 = 83 八进制
3 + 32 + 256 = 291 十六进制
echo PHP_INT_MAX; 输出最大值 2147483647
但是输出2147483648,他比最大值还要大,也同样能输出,虽然看起来是一个整数,但是2147483648这个数已经不是整型了,
$a = 2147483648;
echo gettype($a); //获取类型
返回值:
double
这是一个浮点型
double是浮点型里的双精度
浮点型有单精度和双精度,在php里都叫浮点型
image.png
$str = 'Tom\'s Dog';
echo $str;
image.png
浏览器不认识\n换行,只认识
,出现\n浏览器会用空格代替。
$str = "Tom's D\nog";
echo $str;
$str = "Tom's D<br/>og";
echo $str;
\n
、 \t
:
<br/>
:
单双引号:
$name = 'Tom';
$str = "Hello$name";
echo $str;
image.png
如果是这样写:都用单引号的情况:
$name = 'Tom';
$str = 'Hel\nlo$name';
echo $str;
就不会解析,还是按照代码输出来:都用单引号的情况:
这里如果外面包裹的是双引号,\n就不会输出,而是显示空格
tom用双引号,hello用单引号也是不会解析:
$name = "Tom";
$str = 'Hel\nlo$name';
echo $str;
image.png
但是如果tom用单引号,hello用双引号,又会被解析:
$name = 'Tom';
$str = "He\nllo,$name";
echo $str;
image.png
$str = <<<name
code...
name;
//以<<<开头,name是自己取的名字,后面再跟自己取的名字表示代码段结束,后面跟的这个代码段名字要顶格写,最后分号
//如:
$str = <<< name
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1 class="h1">hello</h1>
<h2 class="h2">hello</h2>
<p class="text">hello</p>
</body>
</html>
name;
echo $str;
?>
nowdoc的用法,和heredoc相比只多了一个引号,其他的完全相同,显示出来的结果也一样。
heredoc:
$str = <<< name
name;
nowdoc:
$str = <<< 'name'
name;
$bool = 7;
if($bool){
echo '真';
}else{
echo '假';
}
php: bool为0和false时为假,0.0也是假,其他时候是真,00也是真,也不是假
javascript:
只有bool =true 和 1 时输出真,其他为假
<script type="text/javascript">
var bool = 3;
if(bool == true){
alert("真");
}else{
alert("假");
}
</script>
空字符串是假,其他时候都是真
$bool = '';
if($bool){
echo '真';
}else{
echo '假';
}
null也是假:
$bool = null;
if($bool){
echo '真';
}else{
echo '假';
}