我需要检查数组中是否只剩下逗号和空格,以及是否是清空或销毁数组的情况。我怎样才能做到这一点?
例如我有一个这样的数组:
$array = (, , , ,)
看看我的功能:
// my magic function
function array_contains_only(&$array, &$matches) {
$tmp = 0;
// loop through array
foreach($array as $key => $val) {
// check if value matches one of the matches
// if so, increment $tmp
if(in_array($val, $matches)) $tmp++;
}
// check if $tmp equals the length of $array,
// if so, the array contains $matches only
return (count($array) === $tmp);
}
用法:
// dummy arrays
$demo1 = array(' ', ',', ' ', ',', ',');
$demo1 = array(' ', ',', ' ', ',', ',', '123');
// characters to match
$chars = array(' ', ',');
// check $demo1
if(array_contains_only($demo1, $chars)) $demo1 = array(); // create new array
// check $demo2
if(array_contains_only($demo2, $chars)) $demo2 = array(); // create new array
print_r($demo1); // new, empty array
print_r($demo2); // old array
$array = array(NULL, NULL, NULL, NULL, NULL);
$result = array_filter(
$array,
function ($value) {
return !is_null($value);
}
);
var_dump($result);