PHP中嵌套的Min()和Max()函数之间是否存在逻辑差异?


Is there a logical difference between nested Min (), Max () functions in PHP?

这两个函数在逻辑上有区别吗?

min ( $a , $b , $c ) ;

min ( $a , min ( $b , $c ) ) ;

编辑

目前正在开发一个小类来管理 color 对象,用于操纵颜色空间之间的通道值,如;RGBtoHEXRGBtoCMYK等…当我在寻找一些示例代码以更好地理解转换算法时,许多编写的函数都实现了第二种方法来计算给定RGB通道的最小值,最大值,如;

$min = min ( $R , min ( $G , $B ) ) ;

;是否可以安全地假设以下函数返回相同的$min值?

$min = min ( $R , $G , $B ) ;

有区别,尽管在实践中不太可能遇到。

php> $a = '0'; $b = 0; $c = '.';
php> var_dump(min($b,$c));
int(0)
php> var_dump(min($a,min($b,$c)));
string(1) "0"
php> var_dump(min($a,$b,$c));
string(1) "."

相关引用自文档:

如果将非数字字符串与整数进行比较,PHP会将其计算为0,但如果将其视为数字最小值,则仍然返回该字符串。如果多个参数的值为0,则min()将在给定任何字符串的情况下返回最小的字母数字字符串值,否则返回数字0。