min


php128 apg

GET the LOWEST value within a list of values.

Compatible with LOCALE only, up to PHP 7.4.XX.



<?php

mixed min 
( array $value_array 


where,

$value_array An ARRAY containing the values

?>
 

$value_array


Must be an ARRAY containing the values to compare.



<?php

mixed min 
mixed $valuemixed ...$values )


where,

$value The comparable value

. . . . . . . . .

$values The comparable values

?>
 

$value


Any comparable value.



... $values


Any comparable values.



Comparison Operators
The PHP comparison operators
are used to compare two values, (NUMBER or STRING).
OPERATOR USE NAME RETURNS
== $a == $b EQUAL TRUE
if $a is EQUAL to $b
!= $a != $b NOT EQUAL TRUE
if $a is NOT EQUAL to $b
<> $a <> $b
=== $a === $b IDENTICAL TRUE
if $a is INDENTICAL to $b
!== $a !== $b NOT IDENTICAL TRUE
if $a is NOT INDENTICAL to $b
> $a > $b GREATER THAN TRUE
if $a is GREATER than $b
< $a < $b LESS THAN TRUE
if $a is LESS than $b
>= $a >= $b GREATER THAN or EQUAL TRUE
if $a is GREATER than or EQUAL to $b
<= $a <= $b LESS THAN or EQUAL TRUE
if $a is LESS than or EQUAL to $b
<=> $a <=> $b Spaceship An integer less than, equal to, or greater than zero when $a is respectively less than, equal to, or greater than $b.
Available as of PHP 7.
ed48



Be careful when passing arguments of different types because this function can produce unpredictable results.

If possible, you should test on different versions of PHP.



  1 EXERCISE   

<?php

$values01a 
= [ 'two'818'thirty-two'3218];

$minval01a min($values01a);

$values01b = [ 2818323218];

$minval01b min($values01b);

echo 
'The minimum value in the ARRAY:<br>';
print_r($values01a);
echo 
'<br>is: ' $minval01a '<br><br>';

echo 
'The minimum value in the ARRAY:<br>';
print_r($values01b);
echo 
'<br>is: ' $minval01b '<br><br>';

?> 

  2 EXERCISE   

<?php

$values02a 
= [ 'two'818'thirty-two'3218];

$values02b = [ 2818323218];

print_r($values02a);

echo 
'<br><br>';

print_r($values02b);

$minval02ab min($values02a$values02b);

echo 
'<br><br>The minimum value between the two given ARRAYS will be:';

echo 
'<br><br>is: ';
print_r($minval02ab);
echo 
'<br><br>Merging the two given ARRAYS:<br><br>';

$mrgdval02 array_merge($values02a$values02b);

print_r($mrgdval02);

echo 
'<br><br>Then the minimum value of the new ARRAY will be: '
                                               
min($mrgdval02) . '<br>';

?> 

  3 EXERCISE   

<?php

$val03a 
'two';
$val03b 2;
$val03c 8;
$val03d 18;
$val03e 'thirty-two';
$val03f 32;

$min3a min($val03a$val03b$val03c
                             
$val03d$val03e$val03f);

echo 
'The minimum value in the given relation is: ' $min3a '.';

?> 

  4 EXERCISE   

<?php

$val04a 
'2';
$val04b 4;
$val04c 8;
$val04d 18;
$val04e 32;
$val04f '320';

$min4a min($val04a$val04b$val04c$val04d$val04e$val04f);

echo 
'The minimum value in the given relation is: ' $min4a '.';

?> 

  5 EXERCISE   

<?php

$val05a 
2;
$val05b 4;
$val05c 8;
$val05d 18;
$val05e 32;
$val05f '320';

$values05 = [ 357"nine"11];

$min5a min($val05a$val05b$val05c$val05d
                                   
$val05e$val05f$values05);

echo 
'The minimum value in the given relation is: ';
print_r($min5a);
echo 
'.';

?> 

  6 EXERCISE   

<?php

$val06a 
2.3333;
$val06b 8.555;
$val06c 8;
$val06d = -18.1234;
$val06e 32.456;

$min5a min($val06a$val06b$val06c$val06d$val06e);

setlocale(LC_ALL"en_US""en-US""american"
                          
"american english""american-english"
                          
"english-american""english-us"
                                      
"english-usa""enu""us""usa");

echo 
'LOCALE = en_US<br><br>The minimum value in the given relation is: ';
print_r($min5a);
echo 
'.';

setlocale(LC_ALL"pt_BR.utf-8""pt-BR.utf-8"
                               
"portuguese-brazil""ptb");

echo 
'<br><br>LOCALE = pt_BR<br><br>The minimum value in the given relation is: ';
print_r($min5a);
echo 
'.';

?> 

  7 EXERCISE   

<?php

try {
    
var_dump(min(1));
} catch (
\TypeError $e) {
    echo 
$e->getMessage() . "<br>";
}

try {
    
var_dump(min(array()));
} catch (
\ValueError $e) {
    echo 
$e->getMessage() . "<br>";
}

try {
    
var_dump(min(new stdclass));
} catch (
\TypeError $e) {
    echo 
$e->getMessage() . "<br>";
}

var_dump(min(2,1,2));
echo 
"<br>";
var_dump(min(2.1,2.11,2.09));
echo 
"<br>";
var_dump(min("""t""b"));
echo 
"<br>";
var_dump(min(falsetruefalse));
echo 
"<br>";
var_dump(min(truefalsetrue));
echo 
"<br>";
var_dump(min(1truefalsetrue));
echo 
"<br>";
var_dump(min(0truefalsetrue));

?>

  8 EXERCISE   

<?php

echo "Testing sequences of numbers.<br><br>PHP ";

echo 
PHP_VERSION '<br><br>';

var_dump(min(2,1,2));
echo 
"<br>";
var_dump(min(-2,1,2));
echo 
"<br>";
var_dump(min(2.1,2.11,2.09));
echo 
"<br>";
var_dump(min("""t""b"));
echo 
"<br>";
var_dump(min(falsetruefalse));
echo 
"<br>";
var_dump(min(truefalsetrue));
echo 
"<br>";
var_dump(min(1truefalsetrue));
echo 
"<br>";
var_dump(min(0truefalsetrue));
echo 
"<br>";
var_dump(min(01, array(2,3)));

?>

  9 EXERCISE   

<?php

if (PHP_INT_SIZE != 8
die(
"Skip this test is for 64bit platform only");

define("MAX_64Bit"9223372036854775807);
define("MAX_32Bit"2147483647);
define("MIN_64Bit", -MAX_64Bit 1);
define("MIN_32Bit", -MAX_32Bit 1);

$arrayVals = [
    
MAX_64BitMIN_64Bit,
    
MAX_32BitMIN_32Bit
    
MAX_64Bit MAX_32Bit
    
MIN_64Bit MIN_32Bit,
    
MAX_32Bit 1MIN_32Bit 1
    
MAX_32Bit 2, (MAX_32Bit 2) + 1
    (
MAX_32Bit 2) - 1,
    
MAX_64Bit -1MIN_64Bit 1
];

$longVals = [
    
MAX_64BitMIN_64BitMAX_32Bit
    
MIN_32BitMAX_64Bit MAX_32Bit
    
MIN_64Bit MIN_32Bit,
    
MAX_32Bit 1MIN_32Bit 1MAX_32Bit 2
    (
MAX_32Bit 2) + 1, (MAX_32Bit 2) - 1,
    
MAX_64Bit -1MAX_64Bit 1MIN_64Bit 1
    
MIN_64Bit 1
];

   
var_dump(min($arrayVals));
   echo 
'<br><br>';
   
var_dump(min($longVals));

?>

  10 EXERCISE   

<?php

echo "Testing boundary conditions.<br><br>";
var_dump(min(21474836452147483646) );
echo 
"<br>";
var_dump(min(21474836472147483648) );
echo 
"<br>";
var_dump(min(21474836462147483648) );
echo 
"<br>";
var_dump(min(-2147483647, -2147483646) );
echo 
"<br>";
var_dump(min(-2147483648, -2147483647) );
echo 
"<br>";
var_dump(min(-2147483649, -2147483647) );

echo 
"<br><br>Testing large number of arguments.<br><br>";

var_dump(min(02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,02345678901011121314151617181920,21));

?>

  11 EXERCISE   

<?php

echo "Testing arrays.<br><br>PHP ";

echo 
PHP_VERSION '<br><br>'

var_dump(min(array(2,1,2)));
echo 
"<br>";
var_dump(min(array(-2,1,2)));
echo 
"<br>";
var_dump(min(array(2.1,2.11,2.09)));
echo 
"<br>";
var_dump(min(array("""t""b")));
echo 
"<br>";
var_dump(min(array(falsetruefalse)));
echo 
"<br>";
var_dump(min(array(truefalsetrue)));
echo 
"<br>";
var_dump(min(array(1truefalsetrue)));
echo 
"<br>";
var_dump(min(array(0truefalsetrue)));
echo 
"<br>";
var_dump(min(array(01, array(2,3))));
echo 
"<br>";
var_dump(min(array(21474836452147483646)));
echo 
"<br>";
var_dump(min(array(21474836472147483648)));
echo 
"<br>";
var_dump(min(array(21474836462147483648)));
echo 
"<br>";
var_dump(min(array(-2147483647, -2147483646)));
echo 
"<br>";
var_dump(min(array(-2147483648, -2147483647)));
echo 
"<br>";
var_dump(min(array(-2147483649, -2147483647)));

?>