0

次のような配列があります。

array(-2, -1, 0, 1, 2, 3, 4)

負の数のみを数えたいと思います。マニュアルのどこにこれを行う方法が記載されているかわかりませんが、これを行う機能はありませんか? 配列を手動で通過するループを作成する必要がありますか?

4

5 に答える 5

3

配列を手動で通過するループを作成する必要がありますか?

はい、簡単に行うことで手動で行う必要があります。

function count_negatives(array $array) {
    $i = 0;
    foreach ($array as $x)
        if ($x < 0) $i++;
    return $i;
}

スクリプトの最後には、$i負の数が含まれます。

于 2013-02-13T13:34:58.983 に答える
2

私はこれを使用する必要があります:

$array = array(-2, -1, 0, 1, 2, 3, 4);

function negative($int) {
     return ($int < 0);
}

var_dump(count(array_filter($array, "negative")));
于 2013-02-13T13:38:35.413 に答える
1

使用できますarray_filter

function neg($var){
    if($var < 0){
        return $var;
    }        
}

$array1 = array(-2, -1, 0, 1, 2, 3, 4);
print count(array_filter($array1, "neg"));
于 2013-02-13T13:40:25.840 に答える
0

これを試して:

$aValues = array(1, 2, 3, -1, -2, -3, 0);
echo sizeof(array_filter($aValues, create_function('$v', 'return $v < 0;')));
于 2013-02-13T14:39:15.200 に答える
0

array_filter を使用http://www.php.net/manual/en/function.array-filter.php

function isnegative($value){
    return is_numeric($value) && $value < 0;
}

$arr = array_filter(array(-1,2,3,-4), 'isnegative');

echo length($arr);

楽しむ。

于 2013-02-13T13:37:09.207 に答える