我一直在大量使用VARIANT_XOR函数(所有VARIANT函数都很酷),我遇到了这样一个问题:某些自定义编译的PHP,特别是LAMP包,没有包含VARIANT函数,因此脚本会停止。
我必须为那些没有VARIANT_XOR实现的人找到一个替代方案。
如果有人通过将名称更改为“VARIANT_XOR”并(如果已在PHP编译中)运行原始VARIANT_XOR函数(经过优化),否则运行自定义XOR代码来改进我的“A_XOR_B”函数,我将不胜感激。
<?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集合太棒了 :-)