我一直都在使用 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 集合太棒了 :-)