variant_xor

(PHP 5, PHP 7, PHP 8)

variant_xor对两个变体执行逻辑异或运算

描述

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

执行逻辑异或运算。

参数

left

左操作数。

right

右操作数。

注意:

与所有变体算术函数一样,此函数的参数可以是 PHP 本机类型(整数、字符串、浮点数、布尔值或 null),也可以是 COM、VARIANT 或 DOTNET 类的实例。PHP 本机类型将使用与 variant 类构造函数中相同的规则转换为变体。COM 和 DOTNET 对象将使用其默认属性的值作为变体值。

变体算术函数是 COM 库中同名函数的包装器;有关这些函数的更多信息,请参阅 MSDN 库。PHP 函数的名称略有不同;例如,PHP 中的 variant_add() 对应于 MSDN 文档中的 VarAdd()

返回值

变体异或规则
如果 left 如果 right 则结果是
truetruefalse
truefalsetrue
falsetruetrue
falsefalsefalse
nullnullnull

错误/异常

失败时抛出 com_exception

参见

添加笔记

用户贡献的笔记 3 笔记

2
tinelbarb at yahoo dot com
13 年前
我一直都在使用 VARIANT_XOR 函数(所有 VARIANT 函数都很酷),但我遇到了一个问题,即一些自定义编译的 PHP,尤其是 LAMP 包,没有包含 VARIANT 函数,因此脚本会停止执行。
我不得不为那些没有实现 VARIANT_XOR 的人找到一个替代方案。
我希望有人能改进我的 "A_XOR_B" 函数,通过将名称更改为 "VARIANT_XOR" 并在 PHP 编译中已存在原始 VARIANT_XOR 函数(经过优化)时运行原始 VARIANT_XOR 函数,否则运行自定义 XOR 代码。

<?php
function a_xor_b($a=0, $b=0) {
return ( (
$a!=$b) && ($a||$b) ) ? TRUE : FALSE ;
}
?>

如果使用此函数,请确保您对参数使用相同的类型 ;-)

以下是一个使用它的示例代码

<?php
if ( 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;
?>

VARIANT_XOR 的使用方式相同。

@PHP 团队:VARIANT 集合太棒了 :-)
-1
tinelbarb at yahoo dot com
13 年前
我一直都在使用 VARIANT_XOR 函数(所有 VARIANT 函数都很酷),但我遇到了一个问题,即一些自定义编译的 PHP,尤其是 LAMP 包,没有包含 VARIANT 函数,因此脚本会停止执行。
我不得不为那些没有实现 VARIANT_XOR 的人找到一个替代方案。
我希望有人能改进我的 "A_XOR_B" 函数,通过将名称更改为 "VARIANT_XOR" 并在 PHP 编译中已存在原始 VARIANT_XOR 函数(经过优化)时运行原始 VARIANT_XOR 函数,否则运行自定义 XOR 代码。

<?php
function a_xor_b($a=0, $b=0) {
return ( (
$a!=$b) && ($a||$b) ) ? TRUE : FALSE ;
}
?>

如果使用此函数,请确保您对参数使用相同的类型 ;-)

以下是一个使用它的示例代码

<?php
if ( 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;
?>

VARIANT_XOR 的使用方式相同。

@PHP 团队:VARIANT 集合太棒了 :-)
-1
tinelbarb at yahoo dot com dot RE-MO-VE dot ME
13 年前
我一直都在使用 VARIANT_XOR 函数(所有 VARIANT 函数都很酷),但我遇到了一个问题,即一些自定义编译的 PHP,尤其是 LAMP 包,没有包含 VARIANT 函数,因此脚本会停止执行。
我不得不为那些没有实现 VARIANT_XOR 的人找到一个替代方案。
我希望有人能改进我的 "A_XOR_B" 函数,通过将名称更改为 "VARIANT_XOR" 并在 PHP 编译中已存在原始 VARIANT_XOR 函数(经过优化)时运行原始 VARIANT_XOR 函数,否则运行自定义 XOR 代码。

<?php
function a_xor_b($a=0, $b=0) {
return ( (
$a!=$b) && ($a||$b) ) ? TRUE : FALSE ;
}
?>

如果使用此函数,请确保您对参数使用相同的类型 ;-)

以下是一个使用它的示例代码

<?php
if ( 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;
?>

VARIANT_XOR 的使用方式相同。

@PHP 团队:VARIANT 集合太棒了 :-)
To Top