gpt4 book ai didi

php - foo(A | B | C) 形式的函数参数

转载 作者:太空狗 更新时间:2023-10-29 23:20:39 24 4
gpt4 key购买 nike

这是一个与语言无关的问题,尽管我用语言标记只是为了提供一些与我在下面发布的代码示例相关的标记。我对编程有点陌生。在各种语言中,我看到函数的参数由按位 OR 运算符分隔。我在没有确切了解参数如何工作的情况下使用了这些函数。

如果您不确定我在说什么,我会举一些例子。

来自 http://www.php.net/manual/en/function.error-reporting.php :

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);

// Report all PHP errors (see changelog)
error_reporting(E_ALL);

// Report all PHP errors
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

来自 http://www.cplusplus.com/doc/tutorial/files/ :

ofstream myfile ("example.bin", ios::out | ios::app | ios::binary);

接受这样的参数的函数到底是怎么回事?谁能解释一下?

最佳答案

如果您查找这些常量是什么,您会发现它们是这样的:1、2、4、8、16 等。

因此,通过将它们基本上加在一起,(根据 AFAIK 按位的含义:“PHP 中的位移是算术运算。”)您会得到一个新的“数字”。

http://us2.php.net/manual/en/language.operators.bitwise.php

手册页有很多关于它如何工作的有用信息。

所以基本上要回答该函数如何工作的问题,它接受一个整数,按位运算符进行“数学运算”并将这三个常量转换为一个新数字。

var_dump(E_ERROR);
var_dump(E_WARNING);
var_dump(E_PARSE);
var_dump(E_ERROR | E_WARNING | E_PARSE);

int(1)
int(2)
int(4)
int(7)

所以它是一样的:

error_reporting(7);

关于php - foo(A | B | C) 形式的函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com