美文网首页
0.3 PHP 数据类型

0.3 PHP 数据类型

作者: THEyAnJ | 来源:发表于2017-04-20 13:40 被阅读0次

  • 标量类型:int、float、string、bool
  • 复合类型:array、object
  • 特殊类型:null、resource
标量类型

  • 整数类型 int integer
    1. 十进制:$num=998
    2. 八进制:$num=0567
    3. 十六进制:$0x123
简写 描述
dec 十进制
bin 二进制
oct 八进制
hex 十六进制
  • 进制转换:
  • 十进制转换:转换的数据类型为字符串;
     ▪ 十进制转二进制 decbin():$num1=decbin(998)
     ▪ 十进制转八进制 decoct() :$num1=decoct(998)
     ▪ 十进制转十六进制 dechex():$num1=dechex(998)
     ▪ 模拟转换:除以进制数(2、8、16)的余数按倒叙方式重写的结果。
$a=12;
12/2=6 ..0
6/2=3 ..0
3/2=1 ..1
1/2=0 ..1
12的二进制为:1100
  • 二进制转换:转换的数据类型为整型;
     ▪ 二进制转十进制 bindec():$n=bindec("10101110")
     ▪ 二进制转八进制 binoct():$n=binoct("10101110")
     ▪ 二进制转十六进制 binhex():$n=binhex("10101110")
     ▪ 模拟进制转换运算:将每位数乘以对应权值,将结果相加;
$a="10101110";
0*2¹,1*2²,1*2³....;
= 128 + 0 + 32 + 0 + 8 + 4 + 2 + 0;
转换结果为:174
  • 八进制转换:转换的数据类型为整型;
     ▪ 八进制转十进制 octdec():$n=octdec("077")
     ▪ 八进制转二进制 octbin():$n=octbin("077")
     ▪ 八进制转十六进制 octhex():$n=octhex("077")
     ▪ 模拟进制转换运算:将每位数乘以对应权值,将结果相加;
//与二进制运算过程相仿
$a="077";
7*8¹,7*8²;
= 56+ 7;
转换结果为:63
  • 十六进制转换:二进制、八进制相仿;

  • 浮点类型 float double real
    1. 小数点:$num=1.234
    2. 科学记数:$num=1.234E3; //值为 1234; 模拟运算:1.234 * 10³
    3. 科学记数:$num=1234E3; //值为 1234000
    尽管结果是整数,但是也属于浮点类型。

  • 浮点类型的数值精度(模拟二进制):

$num=0.6;
0.6*2=1.2    //1
0.2*2=0.4    //0
0.4*2=0.8    //0
0.8*2=1.6    //1
0.6*2=1.2    //1
...死循环...
结果为:0.1001 1001 1001...
——————
$num2=0.625;
0.625*2=1.25  //1
0.25*2=0.5    //0
0.5*2=1       //1
结果为:0.101
  • 绝大部分小数无法完整转换成二进制,而电脑的运算恰恰是由二进制构成。因此浮点数不适合用来进行比较。
$n1=6.9;
if($n1/3==2.3){  // error;
        echo "ok";
}else{
        echo "error";
}
//   在这种情况下通常使用固定精度判断,假设要求 3位小数
if(round($n1*1000/3)==round(2.3*1000)){  // ok;
        echo "ok";
}else{
        echo "error";
}
  • 字符串类型 string
    PHP 中有四种表示方式,而且各不相同:
  • 单引号:不能识别变量,方便输出完整的字符;
    可以识别的转义符: \\\ \'
  • 双引号:可以自动识别变量等;
    可以识别的转义符: \\\ \" \n \r \t \$
  • nowdoc (单引号)定界符:适用于输出大段的 HTML、JS代码等;
    1. 结束标示符必须与开始保持一致;
    2. 结束标示符必须在所在行最前面;
    3. 结束标示符所在行只能写标示符和结束分号;
<?php
$str=<<< 'shuaige'  //必须加上''
不解析任何转义;
$sss \\ \t \n;
<p>这里有p标签 美女 这里有p标签</p>
shuaige;  //最前方
echo "<p>$str</p>";
?>
  • heredoc (双引号)定界符:起始标识名可以用 " " 或者直接声明。
    1. 结束标示符必须与开始保持一致;
    2. 结束标示符必须在所在行最前面;
<?php
$str=<<< meinv    //可直接书写,或加 ""
与双引号字符串转义相近;
<p>这里有p标签 美女 这里有p标签</p>
meinv;
echo "<p>$str</p>";
?>
  • 布尔类型 bool boolean
    表达了真值,可以为 TRUE 或 FALSEl,转换规则 参照
复合类型

  • 数组类型 array
    数组能够在单独的变量名中存储一个或多个值。
  • 在 PHP 中,数组的下标可以使用 整数 或 字符串;
    1. 数字下标常被称为 "索引";
    2. 字符串下标常被称为 "键名";
    3. 还可创建包含一个或多个数组的多维数组;
  • 创建数组:
    ▪ 自动分配索引:
$arrs=array("美女","帅哥","美哥");
//自动分配的下标:  0、1、2

▪ 手动分配索引:

$a[0]="我才";
$a[2]="fuck";
$a[5]=111;

▪ 创建关联数组:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
// or
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
  • count() 函数:获得数组的长度;
$arrs=array("美女","帅哥","美哥");
echo count($arrs);
  • 遍历数组:
    ▪ 遍历索引数组:
$arrs=array("美女","帅哥","美哥");
$len=count($arrs);
for($i=0;$i<$len;$i++){
        echo "$arrs[$i]";
        echo "<br/>";
}

▪ 遍历关联数组:

$age=array("张三"=>"998","貂蝉"=>"18","SB"=>"22");
foreach($age as $i=>$val) {
        echo "Key=" . $i . ", Value=" . $val;
}
  • object 对象类型
    JS 中对象除自己创建,还有内置的 window、location,标签对象;
    PHP 中的对象通常均指自定义创建的对象;
<?php
//定义一个类
class girl{
    public $name="美女";
    public $age=22;
    public function say(){
        echo "hello!";
        echo "我叫".$this->$name;
        echo "今年".$this->age;
    }
}
$v=new girl();  //创建一个对象
$v->name="小花";  //设定名称
$v->age=18;  //设定年龄
$v->say();  //调用函数方法
?>
特殊类型

  • 资源类型 resource
    指对外部资源的引用,比如数据库、文件、图片;PHP 通过语法(或方式)对其进行操作。

  • 空类型 null
    指计算机编程中的 "概念" 类型,表示没有数据、没有意义。

类型转换

  • 自动类型转换:是弱类型语言中一个非常方便的特性。
  • if(—数据—):转换为布尔类型;
  • 算术运算符:转换为数值类型;
  • 连接运算符:转换为字符串类型;
  • 比较运算符:转换为布尔、数值类型;
  • 强制类型转换:通过语法让数据转换成指定的类型。
<?php
$v1=(int)7.8;
$v2=(float)$v1;
echo $v1.",v1的数据类型为".getType($v1)."<br/>";
echo $v2.",v1的数据类型为".getType($v2);
  • 相关的系统函数
类型 描述
var_dump() 输出变量的完整信息。
getType() 获取变量的类型名称,结果返回字符。
setType() 设置变量的类型:setType($num,"float")
isset() 用来判断一个变量是否存在。
empty() 判断一个数据是否为空。
unset() 删除、销毁一个变量。
is_xx() 判断一个变量是否为某种数据类型。
is_int()、is_float()、is_numeric()...... 等等。

以上详细判断规则可以 参照

相关文章

  • 0.3 PHP 数据类型

    标量类型:int、float、string、bool 复合类型:array、object 特殊类型:null、re...

  • 0.3数据类型

    数据类型就是数据的各种类型,计算机是可以处理很多数据类型的,我们可以理解的有音乐,视频,文本都可以理解为数据类型,...

  • php变量和数据类型

    php中的变量 PHP中的变量声明 PHP中的变量的使用 PHP中的数据类型之整型 PHP数据类型之浮点类型和布尔...

  • PHP学习笔记

    PHP数据类型 php有7种数据类型 : 整型 | 浮点型 | 字符串 | boolean | Null | 数组...

  • 关于PHP的数据类型(一)

    php 中的数据类型: php 中支持 8 种数据类型标量类型:boolean(布尔型), integer (整型...

  • PHP 实例

    PHP 实例 运行PHP脚本PHP Double 数据类型PHP 字符串变量PHP 文档PHP局部变量PHP函数参...

  • 基本常见语法集

    一、变量和数据类型 1.‘’单引号不可以解析变量;“”双引号可以解析变量 2、PHP的数据类型 3、PHP数据类型...

  • php的点点滴滴

    1 PHP代码格式 2 第一个PHP程序 3 PHP数据类型 4 用var_dump查看数据类型 5 字符串 6 ...

  • 2.PHP数据类型

    PHP 数据类型简介 PHP 支持 8 种原始数据类型。 四种标量类型: boolean(布尔型) integer...

  • PHP数据类型转换

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形(flo...

网友评论

      本文标题:0.3 PHP 数据类型

      本文链接:https://www.haomeiwen.com/subject/myfwattx.html