回传上一个函数的返回值

时间:2018-08-27 02:18:35

标签: php mysql

function report_test() {

$color = "blue";
$name = "John";

mobile_test($color, $name);
echo $columnid;
}

function mobile_test($color, $name) {

-snipped Insert MySQL Query-
$columnid = 5;
return $columnid;
}

希望上面的示例描绘了我正在尝试做的事情。由于其他各种原因,在这种情况下,无法对变量columnid进行全球化。我也不想更改mobile_test($color, $name)函数。我发现如果我回显该函数,则将MySQL Insert Query运行两次,这意味着将两组相同的结果输入数据库。

还有另一种方法吗?

2 个答案:

答案 0 :(得分:1)

我假设您要从echo内的return {<1>}值中提取{strong> mobile_test() 。最简单的方法是简单地report_test()中的echo inisde 。当您从$columnid调用mobile_test()时,也会同时调用mobile_test()语句,并输出值:

report_test()

假设您想直接回显函数的echo,还可以使用PHP的 short tag syntax (作为function mobile_test($color, $name) { ... $columnid = 5; echo $columnid; return $columnid; } )。不做任何其他事情。

请注意,如果您保留<?= mobile_test(); ?>值(return),则可以直接在return函数中将此值用作比较:

return $columnid;

答案 1 :(得分:1)

您可以这样做:

provider2

您需要将ctx.rule.attr.deps返回的值存储为新变量。这不需要更改provider1

相关问题