如何从函数返回多次?

时间:2013-12-21 22:35:54

标签: php

我试图在php中为sql注入返回值,但返回是停止我的函数。这是一个例子:

function ex($input) {
    if (strlen($input) > 5) 
    {
        return $input;
    }
    return ":the end";
}

echo ex("helloa");

当我在函数内部使用return时它结束它而ex(“helloa”)==“helloa”而不是“helloa:end”就像我想要的那样。

2 个答案:

答案 0 :(得分:3)

函数中的连接字符串

当你想拥有多个字符串时,实际上想要连接(或加入)它们。您可以继续将它们一起添加到变量中,然后在函数末尾返回该变量。

function ex($input) {
    $return = "";
    if (strlen($input) > 5) 
    {
        $return .= $input;
    }
    $return .= ":the end";

    return $return;
}

echo ex("helloa");

使用数组伪返回多个值

如果你真的想要返回多个值/字符串,你可以告诉函数返回一个数组。您只能通过函数返回一个输出。

function ex($input) {
    // this array acts as a container/stack where you can push
    // values you actually wanted to return
    $return = array();
    if (strlen($input) > 5) 
    {
        $return[] = $input;
    }
    $return[] = ":the end";

    return $return;
}

// you can use `implode` to join the strings in this array, now.
echo implode("", ex("helloa"));

答案 1 :(得分:0)

使用

function ex($input) {
    return (strlen($input) > 5 ? $input : '') . ":the end";
}