【问题标题】:If this functions calls, do something php如果这个函数调用,做一些 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 是的,你说的没错。无论如何,这是最好的解决方案。谢谢!

标签: php


【解决方案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 语句。

    【讨论】:

      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      相关资源
      最近更新 更多