note 97775 modified in ref.math by danbrown
| From: | danbrown@php.net | Date: | Fri, 07 May 2010 12:31:51 +0000 |
| Subject: | note 97775 modified in ref.math by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-169049@lists.php.net to get a copy of this message | ||
I was editing some code and made up two functions which may come in handy, they are to work out the
average value of multiple values.
Working with array:
<?php
function avgval($avg_vals) {
if ( is_array($avg_vals) && count($avg_vals) > 1 ) {
$return_vals = ( array_sum($avg_vals) / count($avg_vals) );
} elseif ( is_array($avg_vals) && count($avg_vals) == 1 ) {
$return_vals = current($avg_vals);
} else {
$return_vals = FALSE;
}
return $return_vals;
}
echo avgval(array(6,11,7)); // outputs 8
echo avgval(array(6)); // outputs 6
?>
Working with string:
<?php
function avgvals($avg_vals,$avg_delimiter=',') {
if ( (is_string($avg_vals) && strlen($avg_vals) > 2) &&
(is_string($avg_delimiter) && !empty($avg_delimiter)) ) {
$average_vals = explode($avg_delimiter, $avg_vals);
$return_vals = ( array_sum($average_vals) / count($average_vals) );
} elseif ( (is_string($avg_vals) && strlen($avg_vals) <= 2) &&
(is_string($avg_delimiter) && !empty($avg_delimiter)) ) {
$return_vals = $avg_vals;
} else {
$return_vals = FALSE;
}
return $return_vals;
}
echo avgvals('6,11,7'); // outputs 8
echo avgvals('6-11-7', '-'); // outputs 8
echo avgvals('6'); // outputs 6
?>
--was--
I was editing some code and made up two functions which may come in handy, they are to work out the
average value of multiple values.
Working with array:
<?php
function avgval($avg_vals) {
if ( is_array($avg_vals) && count($avg_vals) > 1 ) {
$return_vals = ( array_sum($avg_vals) / count($avg_vals) );
} elseif ( is_array($avg_vals) && count($avg_vals) == 1 ) {
$return_vals = current($avg_vals);
} else {
$return_vals = FALSE;
}
return $return_vals;
}
echo avgval(array(6,11,7)); // outputs 8
echo avgval(array(6)); // outputs 6
?>
Working with string:
<?php
function avgvals($avg_vals,$avg_delimiter=',') {
if ( (is_string($avg_vals) && strlen($avg_vals) > 2) &&
(is_string($avg_delimiter) && !empty($avg_delimiter)) ) {
$average_vals = explode($avg_delimiter, $avg_vals);
$return_vals = ( array_sum($average_vals) / count($average_vals) );
} elseif ( (is_string($avg_vals) && strlen <= 2) && (is_string($avg_delimiter)
&& !empty($avg_delimiter)) ) {
$return_vals = $avg_vals;
} else {
$return_vals = FALSE;
}
return $return_vals;
}
echo avgvals('6,11,7'); // outputs 8
echo avgvals('6-11-7', '-'); // outputs 8
echo avgvals('6'); // outputs 6
?>
http://php.net/manual/en/ref.math.php