博主呓语:

PHP 找出最大值 max 函数与最小值 min 函数

Posted by 破冰 on 2013-6-28 11:29 Friday

PHP max()

max() 函数:返回参数中数值最大的值,可以比较无限多个值。

语法:

mixed max( number arg1, number arg2 ... )
mixed max( array numbers [, array ...] )

例子:

<?php
echo max(1, 3, 5);		// 输出:5
echo max(array(2, 4, 5));	// 输出:5
?>

提示

如果第一个参数是整数、字符串或浮点数,则至少需要两个参数;PHP 会将非数值的 string 当成 0,但如果这个正是最大的数值则仍然会返回一个字符串,见下面的例子:

<?php
echo max(0, 'hello');     // 输出:0
echo max('hello', 0);     // 输出:hello
echo max(-1, 'hello');    // 输出:hello
?>

多个数组比较

如果参数是多个数组,则从左向右比较:

<?php
$max = max(array(2, 4, 10), array(2, 5, 7));
print_r($max);	// 输出:Array ( [0] => 2 [1] => 5 [2] => 7 )
?>

上面的例子中,虽然第一个数组的值总和大于第二个数组,但 max 函数比较规则是从左至右,2==2 但 4 < 5,所以返回第二个数组。

混合比较

如果同时给出数组和非数组作为参数,则总是将数组视为最大值返回:

<?php
$max = max('hello', array(2, 5, 7), 42);	// 返回:array(2, 5, 7)
?>

PHP min()

min() 函数:返回参数中数值最小的值,可以比较无限多个值。

语法:

mixed min( number arg1, number arg2 ... )
mixed min( array numbers [, array ...] )

min() 函数的比较规则与 max() 几乎一致,只是在混合比较时,因为数组视为最大值,因此不可能返回数组。

例子:

<?php
echo min(1, 3, 5);		// 输出:1
echo min(array(2, 4, 5));	// 输出:2
echo min(0, 'hello');		// 输出:0
echo min('hello', 0);		// 输出:hello
echo min(-1, 'hello');		// 输出:-1

$min = min(array(2, 4, 10), array(2, 5, 7));	// 返回array(2, 4, 10)

$min = min('hello', array(2, 5, 7), 42);      // 输出:hello
?>

发表评论: