使用PHP

时间:2015-07-09 12:52:00

标签: php multidimensional-array count

我正在尝试计算'UnitSqFeet'在一定范围内的实例数。 例如,有多少实例介于0 - 175或176 - 300之间。

这是数组的一部分示例(总共包含46个)。

Array ( 
    [0] => Array ( [UnitNumber] => 1.03 [UnitSqFeet] => 60.75 ) 
    [1] => Array ( [UnitNumber] => 1.04 [UnitSqFeet] => 160.39 ) 
    [2] => Array ( [UnitNumber] => 1.05 [UnitSqFeet] => 231.55 ) 
    [3] => Array ( [UnitNumber] => 1.06 [UnitSqFeet] => 280.24 )
)

'UnitSqFeet'是一个字符串,所以我假设它必须在那里的某处转换。

我设法让这个工作如下,但它只会在html表的第一个单元格中输出,而不是其余的。在这里做了一些研究之后,我理解这是因为我正在为每个单元格重复查询,并且在第一次查询之后它已经检索了所有行。不确定是否有解决方案可以重置查询?

$counter = 0;
while ($units = odbc_fetch_array($result)) {
    $num = $units['UnitSqFeet'];
    $float = (float)$num;
    if ($float > 0 && $float < 175) {
        count($float);
        $counter++;
    };  
};
echo $counter;

2 个答案:

答案 0 :(得分:0)

尝试

target

this question

答案 1 :(得分:-1)

在此处试试:http://viper-7.com/ofozYB

<?php

$UnitSqFeet = array_column($array, 'UnitSqFeet');

$output = array_filter($UnitSqFeet, function ($var) {
    return ( $var >= 70 && $var <= 250 ); // return if between 70 & 250
});

print_r($output);

echo "There is " . count($output) . " values in the selected range";