-1

配列にカンマとスペースしか残っていないかどうか、および配列を空にするか破棄するかどうかを確認する必要があります。これどうやってするの?

たとえば、次のような配列があります。

$array = (, , , ,)
4

2 に答える 2

1

私の機能を見てください

// 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
于 2013-01-22T11:08:31.897 に答える
0
$array = array(NULL, NULL, NULL, NULL, NULL);

$result = array_filter(
    $array,
    function ($value) {
        return !is_null($value);
    }
);

var_dump($result);
于 2013-01-22T11:12:31.377 に答える