这两个函数在逻辑上有区别吗?
min ( $a , $b , $c ) ;
和
min ( $a , min ( $b , $c ) ) ;
编辑
目前正在开发一个小类来管理 color 对象,用于操纵颜色空间之间的通道值,如;RGBtoHEX, RGBtoCMYK等…当我在寻找一些示例代码以更好地理解转换算法时,许多编写的函数都实现了第二种方法来计算给定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。