温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中foo()和@foo()的区别有哪些

发布时间:2021-05-10 09:56:25 来源:亿速云 阅读:266 作者:小新 栏目:编程语言

这篇文章主要介绍php中foo()和@foo()的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php是什么语言

php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

php中“foo()”和“@foo()”的区别:“@foo()”是错误控制输出,其所有错误会被忽略,“foo()”是正常调用输出。“@”是错误抑制符,当放在一个php表达式之前,该表达式的所有错误报告会被忽略。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

运算符考察点 Foo()和@foo()的区别

@foo() 是错误控制输出,foo()是正常调用输出。

@是错误抑制符;当放在一个php表达式之前,该表达式的所有错误会被忽略;

@符号在PHP 中可以忽略错误报告,对于表达式有提示错误的,但有不影响语句执行的,可以在表达式之前加@。

可以把@符号放在变量、函数和include()  调用、常量等之前,但不能把@放在函数、类的定义之前,也不能用于条件结构语句之前

eg:if 、switch、while、for和foreach等

延伸:PHP所有运算符考点

1) PHP运算符优先级(从高到低)

  • 递增 / 递减

  • !

  • 算术运算符

  • 大小比较

  • (不)相等比较

  • 引用

  • 位运算符(^)

  • 位运算符(|)

  • 逻辑与

  • 逻辑或

  • 三目

  • 赋值

  • and

  • xor

  • or

注:括号的使用可以增加代码可读性,推荐使用

2) 比较运算符:=====的区别

  • == 比较值是否相等; === 比较值是否相等,类型是否相同。

  • 等值判断(FALSE的七种情况)
    if (’== false’) {


    echo ‘’;
    } elseif (‘0’ == 0) {


    echo ‘’;
    } elseif (0.0 == 0) {


    echo ‘’;
    }

注:

  • FALSE的七种情况都满足:

    • 整型 0

    • 浮点型 0.0

    • 零字符串 ‘0’

    • 空字符串 ‘’ "

    • 空数组 array()

    • null

    • 布尔型 false

3) 递增/递减运算符

  • 递增/递减运算符不影响布尔值;

    • true++; // true

    • true–; // true

    • false++ ; // false

    • false–; // false

  • 递减NULL值没有效果;递增NULL值为1;

    • NULL–; // NULL

    • NULL++; // 1

  • 递增和递减在前,就先运算,后返回;反之就先返回,后运算

4) 逻辑运算符

① 短路作用

$a = true || $b == 3; // 前面是 true,后面不会执行【|| : 一真为真】
$b = false && $a == 1; // 前面是 false,后面不会执行【&&:一假为假】

||&&orand 的优先级不同

// 先执行 false || true,得到 true,再赋值给 $a
$a = false || true; // $a = true;

// 先执行 $b = false,整体为 true,则 $b的值为 false
$b = false or true; // $b = false;

以上是“php中foo()和@foo()的区别有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI