Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 管道在面向对象编码中指的是什么?_Php_Operators - Fatal编程技术网

Php 管道在面向对象编码中指的是什么?

Php 管道在面向对象编码中指的是什么?,php,operators,Php,Operators,我对编码、PHP和面向对象编程都是新手。我遇到了下面这行代码,我想知道|的用途以及使用它的时间?在我看来,它是一个或,但我认为或由|| empty($this->contact_country) | empty($this->contact_questcomm) | |是按位或|是逻辑或。这些是PHP语言中的运算符,与OOP无关 巧合的是,位布尔运算符和逻辑布尔运算符对布尔类型的工作方式相同,因为false/true和0/1在PHP中是可互换的 例如,true&false相当于1

我对编码、PHP和面向对象编程都是新手。我遇到了下面这行代码,我想知道|的用途以及使用它的时间?在我看来,它是一个或,但我认为或由||

empty($this->contact_country) | empty($this->contact_questcomm) | 

|
是按位或<代码>|是逻辑或。这些是PHP语言中的运算符,与OOP无关

巧合的是,位布尔运算符和逻辑布尔运算符对布尔类型的工作方式相同,因为false/true和0/1在PHP中是可互换的

例如,
true&false
相当于
1&0
。结果是
0
,这在PHP中被认为是一个假值(即在布尔上下文中为
false


无论如何,您不应该在条件表达式中使用逐位运算符,除非您在条件中进行位移位计算。使用为条件逻辑而设计的逻辑运算符,这样人们就不会感到困惑。像您一样,我肯定会在给定代码中用
|
替换
|
,因为
empty()
返回false或true。

按位
运算符,如果意图是逻辑or,我会一直使用
|
@BoltClock-我认为写的更好的方法是将它作为
|
@BoltClock-谢谢。我现在还不知道什么是逐位的,也不知道什么是移位的,但是当需要的时候猜测会涉及到这一点。@BoltClock-这可能是一个单独的问题,但出于好奇,使用MVC开发代码有多重要?@PeanutsMonkey:你说的重要是什么意思?@PeanutsMonkey:嗯,我确实知道,尽管这是一个很好的模式来建立您的体系结构,但这并不是一个很难遵守的规则。