如果这个函数调用,做一些 php
Posted
技术标签:
【中文标题】如果这个函数调用,做一些 php【英文标题】:If this functions calls, do something php 【发布时间】:2016-07-10 17:23:27 【问题描述】:我在 php 中有一个如下所示的函数:
function blabla()
// some code
if(/*function dothis() calls me*/)
// do this
return something;
我有两个函数调用blabla()
。当第一个函数调用blabla()
时,我希望执行 if 语句之外的代码。而当函数dothis()
调用blabla()
时,应该调用if 语句中的代码。如何构建我的 if 语句?
【问题讨论】:
你不希望函数根据调用堆栈改变行为,真的。这将使您的代码无法可靠地测试,并且肯定会使事情变得比他们需要的要慢。如果你需要做 2 件不同的事情,写 2 个函数。 @EliasVanOotegem 是的,你说的没错。无论如何,这是最好的解决方案。谢谢! 【参考方案1】:将布尔值作为参数传递给blabla
。在dothis
中,您可以调用blabla(true)
,在另一个函数中,您可以调用blabla(false)
。检查if语句中的参数,然后里面的代码只有在dothis
调用blabla
时才会执行。
【讨论】:
【参考方案2】:嘿,你可以这样尝试:-
函数 blabla($val = 0)
// some code
if($val)
// do this
return something;
现在如果我通过两种方式调用 blabla 函数:-
blabla(0); - 在这种情况下,if 语句将不会执行。 布拉布拉(1); - 在这种情况下会执行 if 语句。
【讨论】:
以上是关于如果这个函数调用,做一些 php的主要内容,如果未能解决你的问题,请参考以下文章