我有一个看起来像这样的数组:
array(-2, -1, 0, 1, 2, 3, 4)
我只想计算负数的数量。我无法在手册中找到它说明如何执行此操作的位置,是否没有执行此操作的功能?我是否必须创建一个循环才能手动通过数组?
我有一个看起来像这样的数组:
array(-2, -1, 0, 1, 2, 3, 4)
我只想计算负数的数量。我无法在手册中找到它说明如何执行此操作的位置,是否没有执行此操作的功能?我是否必须创建一个循环才能手动通过数组?
我是否必须创建一个循环才能手动通过数组?
是的,您必须通过以下方式手动完成:
function count_negatives(array $array) {
$i = 0;
foreach ($array as $x)
if ($x < 0) $i++;
return $i;
}
在脚本的末尾$i
将包含负数的数量。
我应该使用这个:
$array = array(-2, -1, 0, 1, 2, 3, 4);
function negative($int) {
return ($int < 0);
}
var_dump(count(array_filter($array, "negative")));
您可以使用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"));
使用 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);
玩得开心。
试试这个:
$aValues = array(1, 2, 3, -1, -2, -3, 0);
echo sizeof(array_filter($aValues, create_function('$v', 'return $v < 0;')));