As you say, strtolower(FALSE) equals a null string: checking for type matching of both operators is thus useless. In addition, "" will never be equal to "file_asn1_element", even with a double=.