variant_xor

(PHP 5, PHP 7, PHP 8)

variant_xorPerforms a logical exclusion on two variants

Beschreibung

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

Performs a logical exclusion.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder null) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der variant-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

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

Fehler/Exceptions

Throws a com_exception on failure.

Siehe auch

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

add a note

User Contributed Notes 3 notes

up
1
tinelbarb at yahoo dot com
14 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
14 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
14 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