> i.e. is_null($a, $b, $c) would be the same as is_null($a) && is_null($b)
> && is_null($c)

Note that this would not be semantically equivalent in this form, even if 
`is_null()` did accept multiple parameters, because of the short-circuiting 
with `&&`:

<?php

function are_null() {
        foreach (func_get_args() as $a) {
                if ($a !== null) {
                        return false;
                }
        }
        return true;
}

function destroy_data() { echo "DESTROYING DATA\n"; }

// old form: short-circuited; data is not destroyed
if (is_null(null) && is_null(false) && is_null(destroy_data())) {
        echo "All null.\n";
} else {
        echo "Not null.\n";
}

echo "----\n";

// proposed form: no short-circuit; parameters are evaluated at call time and 
data is destroyed
if (are_null(null, false, destroy_data())) {
        echo "Still null.\n";
} else {
        echo "Still not null.\n";
}

Reply via email to