gpt4 book ai didi

php - 检查函数参数是否设置

转载 作者:可可西里 更新时间:2023-11-01 13:40:38 24 4
gpt4 key购买 nike

我有一个加载蝴蝶图像的函数。

有 3 个可能的参数:颜色角度位置

最后一个总是显式设置,但前 2 个如果未设置,则为由一个随机数决定。这意味着该函数将始终加载漂亮的随机颜色和角度的蝴蝶,除非特别设置。

我有这个

function randombf ($randbf,$randangle,$position) {
$randbf = rand(1,4);
$randangle = rand(1,4);
echo '<div class="bf '.$position.'" style="background:url(\'images/bf_'.$randangle.'_'.$randbf.'.png\');"></div>';
}

现在我遇到的问题是,如果未传递参数,我只希望设置随机数。

类似于:

if(!$randbf) {
$randbf = rand(1,4);
}

但如果我通过了,那是行不通的

randombf('1','2','whatever')

不管怎样,它都会执行随机。

我做错了什么?

最佳答案

您应该更改参数的顺序。将位置放在第一位,因为它将始终指定。如果你这样做,你将能够编写 randombf(12)randombf(12, 1, 2) 甚至 randombf(12, 1 )

省略的参数将被设置为null(您可以根据需要指定任何其他内容,但只能是标量值),因此您只需检查 var is_null().

function randombf ($position, $randbf = null, $randangle = null) {
if (is_null($randbf)) $randbf = rand(1,4);
if (is_null($randangle)) $randangle = rand(1,4);
echo '<div class="bf '.$position.'" style="background:url(\'images/bf_'.$randangle.'_'.$randbf.'.png\');"></div>';
}

让我将 @Matt Ball 发布的链接合并到我的回答中:

Default function arguments

关于php - 检查函数参数是否设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com