php:语言结构和函数的区别

前言

这次我们要讲的是语言结构和函数的区别,我相信对于大多数php初学者来说很难注意到这些区别。

因为要实现一个功能,我们可以找到很多种方法来实现它,但是怎么选择,怎么找出最高效的方法才是关键,同样的功能,但是不同样的代码,执行效率却不一样,除了在尽可能减少时间和空间复杂度少的算法上,我们还可以避免选择一些函数,尽量选择语言结构来处理,进而提高代码的质量。

知识点很简单,但是很实用。

 

一、 什么是语言结构和函数 ?

语言结构:就是PHP语言的关键词,语言语法的一部分;它不可以被用户定义或者添加到语言扩展或者库中;它可以有也可以没有变量和返回值。

函数:由代码块组成的,可以复用。从源码的角度来说,也就是基于Zend引擎的基础来实现的,ext拓展库中的函数都是这样实现的。

 

二、语言结构为什么比函数执行效率高?

因为函数在执行的时候都要先被PHP解析器分解成语言结构,然后在执行语言结构。由此可见,函数比语言结构多了一层解析器解析,相当于函数是在语言结构外包装了一层。所以语言结构比函数要效率高。

 

三、php语言结构有哪些?

echo、print、die、isset、unset、include、require、array、list、empty 等。

注: include_once()、require_once()是函数.

 

四、怎么判断是语言结构还是函数 ?

<?php

function check($name){
    if(function_exists($name)){
        echo $name.'为函数';
    }else{
        echo $name.'为语言结构';
    }
}

check("isset");//输出isset为语言结构
check("array_push");//输出array_push为函数

 

小结:
语言结构不可再php.ini中禁用、函数可以禁用。
php.ini中查找 disable_functions =
在=后添加函数名,多个函数名用,分割
例如:disable_functions = exec,shell_exec

最后还是希望大家尽量使用语言结构,避免使用函数。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值