PluginProbe
TablePress – Tables in WordPress made easy / 3.4
TablePress – Tables in WordPress made easy v3.4
3.4 3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.12 1.14 1.9.2 2.0.4 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3 All 45 releases
tablepress / libraries / vendor / PhpSpreadsheet / Calculation / Statistical / Maximum.php

Maximum.php in TablePress – Tables in WordPress made easy 3.4, at libraries/vendor/PhpSpreadsheet/Calculation/Statistical/Maximum.php

90 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace TablePress\PhpOffice\PhpSpreadsheet\Calculation\Statistical;
4
5 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Functions;
6 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue;
7
8 class Maximum extends MaxMinBase
9 {
10 /**
11 * MAX.
12 *
13 * MAX returns the value of the element of the values passed that has the highest value,
14 * with negative numbers considered smaller than positive numbers.
15 *
16 * Excel Function:
17 * MAX(value1[,value2[, ...]])
18 *
19 * @param mixed ...$args Data values
20 * @return float|int|string
21 */
22 public static function max(...$args)
23 {
24 $returnValue = null;
25
26 // Loop through arguments
27 $aArgs = Functions::flattenArray($args);
28 foreach ($aArgs as $arg) {
29 if (ErrorValue::isError($arg, true)) {
30 $returnValue = $arg;
31
32 break;
33 }
34 // Is it a numeric value?
35 if ((is_numeric($arg)) && (!is_string($arg))) {
36 if (($returnValue === null) || ($arg > $returnValue)) {
37 $returnValue = $arg;
38 }
39 }
40 }
41
42 if ($returnValue === null) {
43 return 0;
44 }
45 /** @var float|int|string $returnValue */
46
47 return $returnValue;
48 }
49
50 /**
51 * MAXA.
52 *
53 * Returns the greatest value in a list of arguments, including numbers, text, and logical values
54 *
55 * Excel Function:
56 * MAXA(value1[,value2[, ...]])
57 *
58 * @param mixed ...$args Data values
59 * @return float|int|string
60 */
61 public static function maxA(...$args)
62 {
63 $returnValue = null;
64
65 // Loop through arguments
66 $aArgs = Functions::flattenArray($args);
67 foreach ($aArgs as $arg) {
68 if (ErrorValue::isError($arg, true)) {
69 $returnValue = $arg;
70
71 break;
72 }
73 // Is it a numeric value?
74 if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) {
75 $arg = self::datatypeAdjustmentAllowStrings($arg);
76 if (($returnValue === null) || ($arg > $returnValue)) {
77 $returnValue = $arg;
78 }
79 }
80 }
81
82 if ($returnValue === null) {
83 return 0;
84 }
85 /** @var float|int|string $returnValue */
86
87 return $returnValue;
88 }
89 }
90