variant_xor
(PHP 5)
variant_xor — Performs a logical exclusion on two variants
Parameters
-
left
-
The left operand.
-
right
-
The right operand.
Note:
As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or
NULL
), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.
Return Values
If left is |
If right is |
then the result is |
---|---|---|
TRUE | TRUE | FALSE |
TRUE | FALSE | TRUE |
FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE |
NULL | NULL | NULL |
See Also
- variant_or() - Performs a logical disjunction on two variants
- variant_and() - Performs a bitwise AND operation between two variants
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения только для Windows
- COM и .Net (Windows)
- com_create_guid
- com_event_sink
- com_get_active_object
- com_load_typelib
- com_message_pump
- com_print_typeinfo
- variant_abs
- variant_add
- variant_and
- variant_cast
- variant_cat
- variant_cmp
- variant_date_from_timestamp
- variant_date_to_timestamp
- variant_div
- variant_eqv
- variant_fix
- variant_get_type
- variant_idiv
- variant_imp
- variant_int
- variant_mod
- variant_mul
- variant_neg
- variant_not
- variant_or
- variant_pow
- variant_round
- variant_set_type
- variant_set
- variant_sub
- variant_xor
Коментарии
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.
<?php
function 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:
<?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;
?>
The use of VARIANT_XOR was identical.
@PHP TEAM: the VARIANT set is so great :-)
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.
<?php
function 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:
<?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;
?>
The use of VARIANT_XOR was identical.
@PHP TEAM: the VARIANT set is so great :-)
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.
<?php
function 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:
<?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;
?>
The use of VARIANT_XOR was identical.
@PHP TEAM: the VARIANT set is so great :-)