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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 当用户登录,经常会有实时的下拉框,例如,输入邮箱,将会@qq.com,@163.com,@sohu.com

    当用户登录,经常会有实时的下拉框,例如,输入邮箱,将会@qq.com,@163.com,@sohu.com

  • pycharm中pip install如何使用_pycharm使用pip安装第三方库

    pycharm中pip install如何使用_pycharm使用pip安装第三方库pyCharm如何使用通过CMDpipinstall方式安装的依赖包前言将pyCharm的解释器设置成Python解释器的方法前言在window下通过cmd(win+r打开运行,然后输入cmd,按下回车即可打开)方式来安装Python依赖包是一种方便快捷的方式。但是往往很多时候由于pyCharm与Python安装在不同的路径,即使你已经用cmdpipinstall的方式在你的电…

  • java string转long类型(c语言字符串存入数组)

    背景在日常开发需求中,跟前端交互,时有传由多个id组成的id字符串给后端的情况,然而在数据库中保存的id是整型,比如Long类型,这个时候就需要把字符串数组转成一个Long类型的List了代码publicstaticvoidmain(String[]args){str…

  • ASP.NET的DropDownList触发SelectedIndexChanged事件「建议收藏」

    ASP.NET的DropDownList触发SelectedIndexChanged事件「建议收藏」前言: DropDownList就是一个下拉列表,当初在单独使用的时候不怎么需要写程序,所以没有发现一点问题。 但当我需要将两个DropDownList关联使用的时候,发现没有触发里面的事件。需要一个按钮来触发事件里面的程序。 在早些时候,我就知道在程序窗体的加载事件里面需要加!IsPostBack{},但这次好像有点不一样。DropDownList触发方法1、首先我们还是在页面的窗体加载事件中,用if(!IsPostBack){代码段}2、我们在引用DropDownList的时候,为它加一个

  • SpringApplication初始化阶段[通俗易懂]

    SpringApplication初始化阶段[通俗易懂]在SpringFramework时代,Spring应用上下文通常由容器启动,如ContextLoaderListener或WebApplicationInitializer的实现类由Servlet容器装载并驱动。到了SpringBoot时代,Spring应用上下文的启动则通过调用SpringApplication.run(Object,String…)或SpringApplicationBuilder.run(String…)方法并配合@SpringBootApplication或@EnableAu

  • 自己动手,丰衣足食。普通键盘实现键盘宏(Windows和Mac版)「建议收藏」

    自己动手,丰衣足食。普通键盘实现键盘宏(Windows和Mac版)「建议收藏」很多高端机械键盘,支持宏定义,例如我们可以设置”D”键为”dota”,这样当我们按一下宏开启键,再按一下”D”键,就等价于分别按了”d””o””t””a”四个键。这时就可以把一些敲代码时常用的模板定义成键盘宏,到时候一键补全代码,既高效又装X。另外,玩游戏时想按出“下前下前拳”这样的组合技能也容易多了。那么问题来了。。山里来的买不起机械键盘的穷B同时又是程序员应该怎么办。。其实这…

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

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