gpt4 book ai didi

php - 在 PHP 中通过空引用传递

转载 作者:行者123 更新时间:2023-12-04 18:22:08 26 4
gpt4 key购买 nike

在 PHP 中,我需要 通过函数的一些参数引用 .
我不想为类似的行为编写 2 种不同的方法。
所以我需要通过参数选择行为。
但是我通不过引用。
所以我创建了一个虚拟数组。

所以我要么通过

    $temp[0]=-1;
$this->doSomething($bigIds, $temp);
or
$temp[0]=-1;
$this->doSomething($temp, $smallIds);


public function doSomething(&$bigIds, &$smallIds) {
if ($bigIds[0] != -1) {
// make some thing
}
if ($smallIds[0] != -1) {
// make some thing
}
}

有没有更好/优雅的方法来做到这一点?

最佳答案

我会建议一个枚举,但这是 PHP。所以这应该为你做:

class YourClass
{
const DoSomethingSmall = 0;
const DoSomethingBig = 1;

public function doSomething(&$ids, $actionType) {
// can also use a switch here
if($actionType == self::DoSomethingSmall) {
// do small
}
else if($actionType == self::DoSomethingBig) {
// do big
}
}
}

然后你可以这样做:
$this->doSomething($bigIds, self::DoSomethingBig);
$this->doSomething($smallIds, self::DoSomethingSmall);

在课外你可以使用 YourClass::DoSomethingBigYourClass::DoSomethingSmall

关于php - 在 PHP 中通过空引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438518/

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