Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组中子键的平均值_Php_Arrays_Associative Array - Fatal编程技术网

PHP数组中子键的平均值

PHP数组中子键的平均值,php,arrays,associative-array,Php,Arrays,Associative Array,如何将登录时间相互添加(,然后找到它们的平均值?循环并获得它非常简单 Array ( [JohnDoe] => Array ( [id] => 23 [name] => JohnDoe [logintimes] => 30 ) [JaneDoe] => Array ( [id] => 26 [name] => JaneDoe [logintimes] => 9 ) [Smith] => Array ( [i

如何将登录时间相互添加(,然后找到它们的平均值?

循环并获得它非常简单

Array (
  [JohnDoe] => Array (
  [id] => 23
  [name] => JohnDoe
  [logintimes] => 30
)
 [JaneDoe] => Array (
  [id] => 26
  [name] => JaneDoe
  [logintimes] => 9
)
 [Smith] => Array (
  [id] => 35
  [name] => Smith
  [logintimes] => 9
 )
)

循环并得到它非常简单

Array (
  [JohnDoe] => Array (
  [id] => 23
  [name] => JohnDoe
  [logintimes] => 30
)
 [JaneDoe] => Array (
  [id] => 26
  [name] => JaneDoe
  [logintimes] => 9
)
 [Smith] => Array (
  [id] => 35
  [name] => Smith
  [logintimes] => 9
 )
)

您必须在数组中循环,并使用子数组引用来合计
logintimes
值。完成后,只需将
logintimes
的总数除以数组项的计数即可

示例:

$counter = 0;
$total = 0;
foreach($array as $row) {
    $counter++;
    $total += $row['logintimes'];
}
echo $total / $counter;

您必须在数组中循环,并使用子数组引用来合计
登录时间
值。完成后,只需将
logintimes
的总数除以数组项的计数即可

示例:

$counter = 0;
$total = 0;
foreach($array as $row) {
    $counter++;
    $total += $row['logintimes'];
}
echo $total / $counter;
您也可以使用和:

您也可以使用和执行以下操作:


为完整起见,PHP>=5.5.0:

$sum = array_sum(array_map(function($item) { 
    return $item['logintimes']; 
}, $your_array));

echo $sum / count ($your_array);

为完整起见,PHP>=5.5.0:

$sum = array_sum(array_map(function($item) { 
    return $item['logintimes']; 
}, $your_array));

echo $sum / count ($your_array);

认为此解决方案应该更有效(PHP 5.5+):


认为此解决方案应该更高效(PHP 5.5+):