zoukankan      html  css  js  c++  java
  • PHP 语言结构(Language constructs)和函数的区别 (转)

    相信大家经常看到对比一些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 语言结构比对应功能的函数快

    l 语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节

    l 语言结构不能在配置项(php.ini)中禁用,函数则可以。

    l 语言结构不能被用做回调函数


    4、 语言结构列表


    l echo()

    l print(),没错,这是一个语言结构

    l die()

    l isset()

    l unset()

    l include(),没有include_once()

    l require(),没有require_once()

    l array()

    l list()

    l empty()
  • 相关阅读:
    ajax专题
    luogu P1346 电车 最短路
    luogu P1462 通往奥格瑞玛的道路 最短路
    luogu P1328 生活大爆炸版石头剪刀布
    luogu P1315 联合权值 枚举
    luogu P1156 垃圾陷阱 背包问题
    luogu P1217 回文质数 枚举
    luogu P3650 滑雪课程设计 枚举
    luogu1209 修理牛棚 贪心
    luogu P1223 排队接水 贪心
  • 原文地址:https://www.cnblogs.com/chuxin/p/2381150.html
Copyright © 2011-2022 走看看