你说的那些,除了echo,其他的都是函数.for,if else,while,break这些也属于语言结构.语言结构是语言设计时提供的语法,可以让计算机执行计算机一些运算处理.函数就是可以重复执行的一段代码,函数中可以包含语言结构.语言结构比函数更"直接".理论上来讲,使用语言结构比使用函数效率高.函数可能有返回值,而语言结构是没有返回值的,你让它这样执行了,它执行完就完了.不需要反馈给你什么东西.

解决方案 »

  1.   

    吃,你一生下来就会,可以理解为语言结构,这是造物主造出你来后,就为你灌输的一些思想.吃,代表你要执行的某一种行为.做饭,刚生下来肯定不会,你不知道要先把菜洗干净,不知道怎样来烹饪.但有人会交你,交过你后,你可能就记住了,在你的脑子里面,就形成了一个固定方法,固定的步骤:function 做饭(菜,作料,烹饪的火){
    洗菜(菜);
    放作料(菜);
    煮熟(菜);
    return 菜;
    }这就是函数.
      

  2.   

    解释很生动!
    不过“你说的那些,除了echo,其他的都是函数.”似乎不妥!
      

  3.   

    解释得太生动了,但是就像楼上说的那样: 
    <?--不过“你说的那些,除了echo,其他的都是函数.”似乎不妥!-->
    我上面写的那些(不过“你说的那些,除了echo,其他的都是函数.”似乎不妥!)都是语言结构,不信可以从php手册中查一查。
      

  4.   

    解释得太生动了,但是就像楼上说的那样: 
    <?--不过“你说的那些,除了echo,其他的都是函数.”似乎不妥!-->
    我上面写的那些(echo(),print(),unset(),isset(),empty(),include(),require() 以及类似的语句)都是语言结构,不信可以从php手册中查一查。
      

  5.   

    我不知道这位朋友ShadowSniper(Metal Lovers) 解释的语言结构的概念对不对,我只知道
    您说的我有几点不同意。
    ====函数可能有返回值,而语言结构是没有返回值的=====
    echo()确实没有返回值,但是print也是语言结构,但是他又返回值,类型为boolean.
    php手册中:
    Description:
    int print ( string arg )
    Outputs arg. Returns 1, always. print() is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list. 
    =====语言结构比函数更  "直接  ".理论上来讲,使用语言结构比使用函数效率高.  =====
    更直接是什么意思,难道像inline函数一样,还是像宏函数一样?效率高怎么得出,哪里有解释和说明
      

  6.   

    sorry,一直以为那些都是函数呢,在其他语言中这系列操作都写成了单独的函数,惯性思维了.刚才去看了下手册,的确都是语言结构,php的设计者竟然把这些操作都加入语言结构了.
      

  7.   

    以前真的没有刻意注意过这部分内容.一直认为语言结构就是if,else,while这些.
    从没见过这些语句需要返回值,孤陋寡闻了.我看过不少文章在解释echo和print的区别时,都指出echo是语言结构,没有返回值.print是函数,有返回值,一直就这样认为了.关于print是语言结构,做为语言结构到底它是如何将值返回的.希望有人出来解释下.我也不太明白,应该属于php底层的东西了.
      

  8.   

    这些概念,理解就行了。
    ShadowSniper(Metal Lovers) 说的基本就是了,
     你还要多具体的?
      

  9.   

    语言结构不能像函数那样被调用有返回的值!
    具体的看PHP手册!