如果这个函数调用,做一些 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的主要内容,如果未能解决你的问题,请参考以下文章

PHP中构造函数和析构函数解析

PHP 构造函数和析构函数

Flash 调用 PHP 函数

PHP:在构造函数中调用用户定义的函数?

php构造函数的PHP 5 构造函数和析构函数

PHP 函数调用开销有多大?