PHP学习PHP实战

PHP中的数据转换、类型约束

2017-03-19  本文已影响32人  kangyiii

数据转换

转换基本语法:(目标类型)数据;

<?php
                $arr = array('a1'=>1,'bb'=>2.2,3,4.5);
        $o1 = (object)$arr;
        var_dump($o1);
?>
  1. 对象转换为对象:没有变化
  2. 数组转换为对象:数组的键名当作属性名,值为对应值
    如果是数字下标,对应属性不方便获取,所以通常适合于纯字符下标的数组。
  3. null转换为对象:空对象
输出结果:object(stdClass)#2 (0) { } 
  1. 其他标量数据转换为对象:属性名为固定的"scalar",值为该变量的值
        $s1 = 1;
        $s2 = 2.2;
        $s3 = 'abc';
        $s4 = true;
        $obj1 = (object)$s1;
        $obj2 = (object)$s2;
        $obj3 = (object)$s3;
        $obj4 = (object)$s4;
        echo "<pre>";
            var_dump($obj1,$obj2,$obj3,$obj4);
        echo "</pre>";
打印结果

类型约束

其他语言中,类型约束是语法上的要求,定义一个变量的时候,必须指定类型,类型一旦确定,这个变量只能存储这个类型的数据,这是强类型语言的特点。但PHP是弱类型语言,无需为变量指定类型。

在PHP较新的语法中,在某些特定的场合,针对某些特定类型,也可以进行语法约束:

示例1:方法参数中类型约束为为A(类名)

        function f1( A $p1){
            echo "<br/>";
            var_dump($p1);
        }

示例2:方法参数中类型约束为数组

        function f2(array $a){
            $c = count($a);
            return $c;
        }
        $r1 = f2(array(1,2,3,4,5,56));
        echo "<br/>长度为".$r1;
上一篇下一篇

猜你喜欢

热点阅读