variant_xor

(PHP 5, PHP 7, PHP 8)

variant_xorPerforms a logical exclusion on two variants

说明

variant_xor(mixed $left, mixed $right): variant

Performs a logical exclusion.

参数

left

The left operand.

right

The right operand.

注意:

对于所有变量运算函数,本函数的参数可以是 PHP 内置的类型(整数,字符串,浮点数,布尔型或者 null),或者是一个 COM,VARIANT 或者 DOTNET 类的实例。PHP 内置类型将会使用和构造variant类相同的规则转换成变量。COM 和 DOTNET 对象的值将会取其默认属性并被当成变量值使用。

变量运算函数是同名函数在 COM 库中的外包;有关此类函数的更多信息参见 MSDN 库。PHP 函数命名有少许区别,例如 PHP 中的 variant_add() 对应于 MSDN 文档中的 VarAdd()

返回值

Variant XOR Rules
If left is If right is then the result is
truetruefalse
truefalsetrue
falsetruetrue
falsefalsefalse
nullnullnull

错误/异常

Throws a com_exception on failure.

参见

  • variant_or() - Performs a logical disjunction on two variants
  • variant_and() - Performs a bitwise AND operation between two variants

添加备注

用户贡献的备注 3 notes

up
1
tinelbarb at yahoo dot com
15 years ago
I've been using a lot the VARIANT_XOR function (all the VARIANT functions ar cool) and I was faceing the problem that some custom copilation of PHP, especially LAMP packs, doesn't have the VARANT functions included, so the scripts halts.I had to find an alternative for those who doesn't have an implamentation of VARIANT_XOR.I'd love if somebody improve my "A_XOR_B" function by changing the name in "VARIANT_XOR" and to run the original VARIANT_XOR function (being optimized) if it is already in the PHP compilation, else run the custom XOR code.<?phpfunction a_xor_b($a=0, $b=0) {    return ( ($a!=$b) && ($a||$b) ) ? TRUE : FALSE ;}?>If using this function, make sure you use the same type for arguments ;-)Here is a sample code using it:<?phpif ( a_xor_b(strlen($column1)>0,strlen($column2)>0) ) {  $add_and='';}if ( !a_xor_b(strlen($column1)>0,strlen($column2)>0 ) && strlen($column1)>0 ) {  $add_and=' and ';}$some_sql_filter=$query_str.' having '.$column1.$add_and.$column2;?>The use of VARIANT_XOR was identical.@PHP TEAM: the VARIANT set is so great :-)
up
-1
tinelbarb at yahoo dot com
15 years ago
I've been using a lot the VARIANT_XOR function (all the VARIANT functions ar cool) and I was faceing the problem that some custom copilation of PHP, especially LAMP packs, doesn't have the VARANT functions included, so the scripts halts.I had to find an alternative for those who doesn't have an implamentation of VARIANT_XOR.I'd love if somebody improve my "A_XOR_B" function by changing the name in "VARIANT_XOR" and to run the original VARIANT_XOR function (being optimized) if it is already in the PHP compilation, else run the custom XOR code.<?phpfunction a_xor_b($a=0, $b=0) {    return ( ($a!=$b) && ($a||$b) ) ? TRUE : FALSE ;}?>If using this function, make sure you use the same type for arguments ;-)Here is a sample code using it:<?phpif ( a_xor_b(strlen($column1)>0,strlen($column2)>0) ) {  $add_and='';}if ( !a_xor_b(strlen($column1)>0,strlen($column2)>0 ) && strlen($column1)>0 ) {  $add_and=' and ';}$some_sql_filter=$query_str.' having '.$column1.$add_and.$column2;?>The use of VARIANT_XOR was identical.@PHP TEAM: the VARIANT set is so great :-)
up
-1
tinelbarb at yahoo dot com dot RE-MO-VE dot ME
15 years ago
I've been using a lot the VARIANT_XOR function (all the VARIANT functions ar cool) and I was faceing the problem that some custom copilation of PHP, especially LAMP packs, doesn't have the VARANT functions included, so the scripts halts.I had to find an alternative for those who doesn't have an implamentation of VARIANT_XOR.I'd love if somebody improve my "A_XOR_B" function by changing the name in "VARIANT_XOR" and to run the original VARIANT_XOR function (being optimized) if it is already in the PHP compilation, else run the custom XOR code.<?phpfunction a_xor_b($a=0, $b=0) {    return ( ($a!=$b) && ($a||$b) ) ? TRUE : FALSE ;}?>If using this function, make sure you use the same type for arguments ;-)Here is a sample code using it:<?phpif ( a_xor_b(strlen($column1)>0,strlen($column2)>0) ) {  $add_and='';}if ( !a_xor_b(strlen($column1)>0,strlen($column2)>0 ) && strlen($column1)>0 ) {  $add_and=' and ';}$some_sql_filter=$query_str.' having '.$column1.$add_and.$column2;?>The use of VARIANT_XOR was identical.@PHP TEAM: the VARIANT set is so great :-)
To Top