教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 print不是函数

print不是函数

发布时间:2020-11-30   编辑:jiaochengji.com
教程集为您提供print不是函数等资源,欢迎您收藏本站,我们将为您提供最新的print不是函数资源

这个源自于一个看似很诡异的问题:

if (print("1\n") && print("2\n") && print("3\n") && print("4\n")) {     ; }

你期待这段代码输出什么呢?

实际上的输出是:

4 111

很多时候我们会忽略了print是一个语法结构(language constructs), 他并不是一个函数, 参数的list并不要求有括号(即使你写了括号, 括号也会在语法分析阶段被忽略), 他只是一个永远返回结果是1的”表达式(expr)”:

expr :    T_PRINT expr  | '(' expr ')' ; 所以其实上面的代码在php看来是: if (print ("1\n" && print ("2\n" && print ("3\n" && print "4\n")))) {   ; }

所以就是, 输出4, 然后输出 “3\n” && print的结果1 , 然后输出 “2\n” && 1, 最后是 “1\n” && 1

而如果想要达到上面代码的本身想要的意图, 我们应该这么写:

if ((print "1\n") && (print "2\n") && (print "3\n") && (print "4\n")) {     ; }

以上就是print不是函数的详细内容,更多请关注教程集其它相关文章!

  • 本文转载于:laruence,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:
    print不是函数
    Python print()函数高级用法
    python如何不保留小数
    python怎样从控制台输入
    python2和3print的区别
    python 装饰器详解
    python中的函数和方法的区别是什么
    python 函数和方法的区别有哪些
    php echo print print_r三者区别分析
    Python函数的高级用法

    [关闭]
    ~ ~