PHP 数据类型

PHP 数据类型

1.标量类型 float, int, string, bool

2.复合类型 array ,object

3.特殊类型 null resouce

 

整数的三种表示方法

十进制:$num =123;

八进制:$num =0123;

十六进制:$num =0x123;

 

进制转换关键字

十进制 dec

二进制 bin

八进制 otc 

十六进制 hex

<?php
    echo "<h4>100 十进制转换:</h4>";
    $bin =decbin(100);
    $oct=decoct(100);
    $hex=dechex(100);
    echo "<table border='1'>";
    echo "<tr><td>源进制</td><td>源值</td><td>目标进制</td><td>目标值</td><td>目标类型</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>二进制</td><td>$bin</td><td>" .  gettype($bin) . "</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>八进制</td><td>$oct</td><td>" .  gettype($oct) . "</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>十六进制</td><td>$hex</td><td>" .  gettype($hex) . "</td></tr>";
    echo "</table>";
    
    echo "<h4>100 其他进制转换十进制:</h4>";
    
    echo "<table border='1'>";
    echo "<tr><td>源进制</td><td>源值</td><td>目标进制</td><td>目标值</td><td>目标类型</td></tr>";
    echo "<tr><td>二</td><td>"  . $bin . "</td><td>十进制</td><td>" . bindec($bin) . "</td><td>" .  gettype(bindec($bin)) . "</td></tr>";
    echo "<tr><td>八</td><td>"  . $oct . "</td><td>十进制</td><td>" . octdec($oct) . "</td><td>" .  gettype(octdec($oct)) . "</td></tr>";
    echo "<tr><td>十六</td><td>" . $hex . "</td><td>十进制</td><td>" . hexdec($hex) . "</td><td>" .   gettype(hexdec($hex)) . "</td></tr>";
    echo "</table>";
?>

100 十进制转换:

源进制 源值 目标进制 目标值 目标类型
十 100 二进制 1100100 string
十 100 八进制 144 string
十 100 十六进制 64 string

100 其他进制转换十进制:

源进制 源值 目标进制 目标值 目标类型
二 1100100 十进制 100 integer
八 144 十进制 100 integer
十六 64 十进制 100 integer

 

如果 传递 bindec(),octdec(),hexdec(), 如果方法里面的参数不是字符串类型而是数字类型,则会先进行转换为十进制,再转换为字符串类型

代码如下:

echo "<h1>" . bindec(0123). "</h1>";    //输出0
echo "<h1>" . bindec("0123"). "</h1>";    //输出1

 

0123 = 83 = “83” ; bindec(0123) =bindec(“83”) =0 ;

 

2.float 2种表达方法

<?php

$f =1.2345;
$f2 =1.2345E3;
$f3 =12345E3;
echo "<h1>" .  $f . "</h1>";
echo "<h1>" .  $f2. "</h1>";
echo "<h1>" .  $f3. "</h1>";
?>

1.绝大部分的小数无法完整转换为二进制

2.不应该直接进行大小值比较,因为浮点数在系统内部,很可能都是不精确。如果实在要比较,则在考虑精度的情况下转化为整数进行比较。放大精度次方进行放大。即1.2345*10000 精度4进行比较

3.当整数运算结果后超过整数后会自动转换为浮点数。

 

string 类型

1、单引号字符串

2、双引号字符串

3、单引号分界符字符串

4、双引号分界符字符串

代码如下:

<?php
$txt ="我是文本";
//单引号
//能识别\\ \' 不能识别\n 变量
$str1 ='i am single \n \\ \' ddddd$txt';
//双引号
//能识别\\ \' \n $变量 等
$str2="i am double \n \\ \' \" ddddd$txt";
echo "<br/>" .  $str1;
echo "<br/>" .  $str2;

//无法识别$变量
//',""无需转义
$str3 = <<<'flag1'
单引号界限字符串aaaaaaaaa"
aaaaaaaaa
aaaaaaaaa"别$txt 
flag1;

//可以识别$变量
//',""无需转义
$str4 = <<<"flag2"
双引号界限字符串aaaaaaaaa
aaaaaaaaa
aaaaaaaaa'iefie别$txt 
flag2;

echo "<br/>" .  $str3;
echo "<br/>" .  $str4;
?>

输出界面如下:

<html>
<head></head>
<body>
<br>i am single \n \ ' ddddd$txt<br>i am double 
 \ \' " ddddd我是文本<br>单引号界限字符串aaaaaaaaa"
aaaaaaaaa
aaaaaaaaa"别$txt <br>双引号界限字符串aaaaaaaaa
aaaaaaaaa
aaaaaaaaa'iefie别我是文本 
</body>
</html>

由此看出有各自的特点,需要根据实际情况使用。

 3、对象类型

<?php
class Person{
    public $Name ="";
    public $Age=0;
    public function  Introduce(){
        echo $this->Name;
        echo $this->Age;
    }
}
$p = new Person();
$p->Name="xiaoming";
$p->Age=17;
$p->Introduce();
?>

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/holy-night/articles/5122608.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109179.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spatial Transformer Network_transgression

    Spatial Transformer Network_transgression导读上一篇通俗易懂的SpatialTransformerNetworks(STN)(一)中,我们详细介绍了STN中会使用到的几个模块,并且用pytorch和numpy来实现了他们,这篇文章我们将会利用pytorch来实现一个MNIST的手写数字识别并且将STN模块插入到CNN中STN关键点解读STN有一个最大的特点就是STN模块能够很容易的嵌入到CNN中,只需要进行非常小的修改即可。上一篇文章我们也说了STN拥有平移、旋转、剪切、缩放等不变性,而这一特点主要是依赖θ\thetaθ参数来实现的。刚开

    2022年8月31日
  • 分散式-ubuntu12.04安装hadoop1.2.1

    分散式-ubuntu12.04安装hadoop1.2.1

    2022年1月5日
  • 时间协议ntp服务器,时间服务器NTP搭建及NTP协议简介

    NTP协议简介目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。NTP(NetworkTimeProtocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。NTP可以通过原子钟、天文台、卫星等渠道获得精准时间,然后再按照NTP服务器等级进行传播。NTP的网络结构是分层管理的类树…

    2022年4月7日
  • 关于C++ const 的全面总结

    关于C++ const 的全面总结

    2021年12月15日
  • Srvctl命令详解(10g)「建议收藏」

    Srvctl命令详解(10g)「建议收藏」Srvctl命令 Srvctl命令式RAC维护中最常用的命令也是最复杂的命令。这个工具用来维护一下几种资源:Database,Instance,ASM,Service,Listener和NodeApplication,nodeApplication又包括GSD,ONS,VIP。 Srvctl命令的用法: [root@felix2bin]#./srvctl-help…

    2022年9月4日
  • idea2019激活码【最新永久激活】

    (idea2019激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~09LV…

    2022年3月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号