Just learning php and looking into someone else’s code. I’m not sure what is happening in this function with the word ‘and’ on the left side of the = operator. It seems like it is a ‘silent’ if is being used eg.
if $arry =true and $array2 = true then $array2 += ‘somthing’;
I cant seem to find any reference to this anywhere online.
function get_list_filter($filter = array()) {
global $current_user;
$sql = array();
$filter["clientID"] and $sql[] = sprintf("(WD_domain.clientID = %d)",$filter["clientID"]);
$filter["showDomainName"] and $sql[] = sprintf("(WD_domain.domain LIKE '%%%s%%')",$filter["showDomainName"]);
$filter["showManaged"] and $sql[] = sprintf("(WD_domain.managed = %d)",$filter["showManaged"]);
return $sql;
}
It means that if the left side of the
andevaluates to true, the right side will be executed also. In essence, ifclientIDevaluates to true (is non-false), thensprintf("(WD_domain.clientID = %d)",$filter["clientID"])will be added to the$sqlarray.It’s a lazy way of doing this: