0

我通过 ref 传递两个 var 来更改它们,一旦我更改了它们或(8 个循环)之一在我正在使用的字符串中找到了一个正数,我想退出该函数,但我不需要返回任何东西,因为它们是由 ref 传递的。

我可以只传递一个副本,然后引用另一个副本,并将复制 = 的那个的 var 设置为函数并返回它,但是有没有一种更简洁的方法,我只调用函数,设置 var 并且我可以继续吗?

function get_cat_size($urlstr, &$cat, &$size){ return null; };

$cat = get_cat_size($urlstr, &$size);

第一个有效还是无效?女巫的可读性更好?

感谢您的输入!

while( $i < $countz )
    {
    $pos = strpos($outdoor, $outdoor[$i]);
    if($pos != false)
    {
        $cat = $outdoorID;
            while( $j < $sizeArrayCount)
            {
            $poz = strpos($outdoor, $outdoor[$i]);
            if($poz != false)
            {
                $size = $outdoorID;
                return;
            }
            $j++;
            }
        return;
    }
    $i++;
    }

^ 所以这应该可行,是的,不是的,也许是这样?

所以这是按顺序设置的 8 个循环之一,因为它们是最不重要的,不同的 var = 不同的商店。

4

2 回答 2

3

You can just return without a value:

function returnsNothing (&$a, &$b) {
    return;
}

Or simpler just omit the return statement at all

function returnsNothing (&$a, &$b) {
    // do something
}

Both snippets will make the function returning NULL.

于 2013-01-15T01:39:37.723 回答
0

Take a look at break for returning out of your for loops.

I would personally avoid returning null within a function since NULL will be returned by default when there is no return value specified. You can read more here at PHP: Returning values

于 2013-01-15T01:39:44.683 回答