• 技术文章 >后端开发 >PHP问题

    php是静态的还是动态的语言

    青灯夜游青灯夜游2022-04-27 12:01:03原创370

    php是动态的语言。php是一种动态、弱类型的脚本语言,它在运行时才确定数据类型,且用变量前不用提前声明,变量在第一次赋值时会被自动创建;PHP中数据类型可被忽略,当对一个变量赋值时,不需考虑它的类型,待变量被赋予某个值后,才具有某种类型。

    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

    php是动态的语言。

    php是一种动态类型、弱类型的脚本语言;使用变量前不用提前声明,变量在第一次赋值时会被自动创建,且当对一个变量赋值时,不需考虑它的类型,待变量被赋予某个值后,才具有某种类型。

    <?php
    $a = 1;
    $b = "2";
    $c = [1,3,4];
    var_dump($a);
    var_dump($b);
    var_dump($c);
    ?>

    1.png

    因此,在进行变量计算时,会出现自动类型转换的现象。

    在 PHP 中,自动类型转换通常发生在不同类型的变量混合运算时,若参与运算的变量类型不同,则需要先将它们转换成同一类型,然后再进行运算。

    通常只有四种标量类型(integer、float、string、boolean)和 NULL 才会在运算中自动转换类型。注意,自动类型转换并不会改变变量本身的类型,改变的仅是这些变量的求值方式。

    自动类型转换虽然是由系统自动完成的,但在混合运算时,自动类型转换也需要遵循按数据长度增加的方向进行,以保证精度不降低。规则如下图所示。

    1.gif

    【示例】下面通过一个简单的示例来演示一下 PHP 中自动类型转换。

    <?php
    header('content-type:text/html;charset=utf-8');   
    $str = '100abc';
    $str += 5;
    echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>';
    $str += 3.14;
    echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>';
    $str = null + 'C语言中文网';
    echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>';
    ?>

    2.png

    扩展知识:动态语言和静态语言的介绍和区别

    动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。

    $a = 1;
    $b = "2";
    $c = [1,3,4];

    静态语言(强类型语言)是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须生命数据类型。比如Java、C、C++、C#等。

    String s="hello";    //String 类型的变量
    boolean b=true;    //boolean 类型的变量
    int i=0;    //int 类型的变量

    弱类型语言是数据类型可以被忽略的语言。它与强类型语言相反,一个变量可以赋不同数据类型的值。一个变量的类型是由其上下文决定的,效率更高。

    强类型语言是必须强制确定数据类型的语言,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这种数据类型。一个变量的类型是申明的时候就已经确定的,更安全。

    区别:

    推荐学习:《PHP视频教程

    以上就是php是静态的还是动态的语言的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php搭建网站的优势有哪些 下一篇:php中<>是什么意思
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• php怎么替换数组中的一个值• php可以安装多个版本吗• php怎么检测数组键存不存在• php可以只显示字母和数字吗• php中转小写的函数有哪些• php转二进制的函数有哪些
    1/1

    PHP中文网