PHP传递百分比作为参数

时间:2013-07-07 07:02:22

标签: php arguments percentage

我想实现一个PHP函数来模仿CSS handles RGB的方式。在CSS中,可以使用百分比rgb(50%, 50%, 50%)指定RGB颜色。但是,如果我有这个PHP函数:

function rgb($r, $g, $b) {
    ...
}

并使用百分比调用它会导致解析错误,因为PHP使用百分号(%)进行模块化划分。

无论如何将百分比作为参数传递,还是必须以另一种方式传递值(字符串,小数等)?

修改

在CSS中,RGB值可以用两种方式指定。通过0到255之间的整数或0%到100%的百分比。因此,百分比不能是整数,因为rgb(50, 50, 50)可能意味着红色,绿色和蓝色值为50(满分255)或50%。

2 个答案:

答案 0 :(得分:1)

但是我认为没有理由通过百分号,但如果你不想进行数学运算,你可以像字符串一样传递

rgb('50%', '50%', '50%')

或使用

function rgb($r, $g, $b) {
   echo $r.'%';
}

答案 1 :(得分:1)

字符串“50%”是一个非常以人为中心的表达方式。您必须将其作为字符串处理,而不是作为数学术语处理。所以:

function rgb("50%", "50%", "50%") {
    ...
}

或者,以更灵活的方式:

$r = "50%";
$g = "50%";
$b = "50%";
function rgb( $r, $g, $b ) {
    ...
}