iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php是静态语言吗
  • 182
分享到

php是静态语言吗

2023-06-30 11:06:37 182人浏览 独家记忆
摘要

这篇文章主要介绍了PHP是静态语言吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php是静态语言吗文章都会有所收获,下面我们一起来看看吧。php是动态的语言。php是一种动态、弱类型的脚本语言,它在运行时才确

这篇文章主要介绍了PHP是静态语言吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php是静态语言吗文章都会有所收获,下面我们一起来看看吧。

php是动态的语言。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);?>

php是静态语言吗

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

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

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

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

php是静态语言吗

  • 有布尔型值参与运算时,TRUE 将转化为整型 1,FALSE 将转化为整型 0,然后再参与运算。

  • 有 NULL 值参与运算时,NULL 值将转化为整型 0 后再进行运算。

  • 有 integer 类型和 float 类型的值参与运算时,会先把 integer 型的值转成 float 类型后再进行运算。

  • 字符串和数字型(integer、float)的值参与运算时,字符串类型会先转换为数字,再参与运算。转化后的数字是从字符串开始的数值型字符串,如在字符串开始的数值型字符串不带小数点则转为 integer 类型的值。如果带有小数点则转为 float 类型的值,例如:字符串“123ab”转为整数 123,字符串“123.45ab”转为浮点数 123.45,字符串“abc”转为整数 0。

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

<?phpheader('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>';?>

php是静态语言吗

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

动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、javascriptpython、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 类型的变量

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

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

区别:

  • 静态语言由于强制声明数据类型,让开发工具(IDE)对代码有很强的判断能力,在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中,开发者可以依托强大的IDE来更高效、更安全地开发。

  • 动态语言思维不受约束,可以任意发挥,把更多的精力放在产品本身上;集中思考业务逻辑实现,思考过程就是实现过程。

关于“php是静态语言吗”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php是静态语言吗”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: php是静态语言吗

本文链接: https://www.lsjlt.com/news/328275.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作