我一直在大量使用 VARIANT_XOR 函式(所有 VARIANT 函式都很棒),但我面臨的問題是,某些客製化編譯的 PHP,尤其是 LAMP 套件,並未包含 VARIANT 函式,因此腳本會停止執行。
我必須為那些沒有實作 VARIANT_XOR 的人找到替代方案。
如果有人能改進我的「A_XOR_B」函式,將名稱改為「VARIANT_XOR」,並且在 PHP 編譯中已存在原始 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 集合真是太棒了 :-)