PHP 语言结构(Language constructs)和函数的区别

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等。
 
例子:
 
         if ( isset($username[5]) ) {
 
                 // The username is at least six characters long.
 
}
 
原因是isset是语言结构,而strlen是一个函数。那什么是语言结构呢?它和函数有什么不同吗?
 
  
 
1、  什么是语言结构和函数
 
  
 
语言结构:就是PHP语言的关键词,语言语法的一部分;它不可以被用户定义或者添加到语言扩展或者库中;它可以有也可以没有变量和返回值。
 
函数:    由代码块组成的,可以复用。
 
  
 
2、  语言结构为什么比函数快
 
原因是在PHP中,函数都要先被PHP解析器分解成语言结构,所以有此可见,函数比语言结构多了一层解析器解析。这样就能比较好的理解为
 
什么语言结构比函数快了。
 
  
 
3、  语言结构和函数的不同
 
  
 
l         语言结构比对应功能的函数快
 
2         语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节
 
3         语言结构不能在配置项(php.ini)中禁用,函数则可以。
 
4         语言结构不能被用做回调函数
 
  
 
4、  语言结构列表
 
  
 
l          echo()
 
2          print(),没错,这是一个语言结构
 
3          die()
 
4         isset()
 
5         unset()
 
6         include(),没有include_once()
 
7         require(),没有require_once()
 
8          array()
 
9         list()
 
10         empty()

  

posted @   Mr.peter  阅读(187)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2017-03-27 利用nginx与ffmpeg搭建流媒体服务器
点击右上角即可分享
微信分享提示