在其他人编写的项目中工作时,有一个函数可以检索一些数据,而返回的是带数据的数组。
function getSomedata()
{
//Get some data
return Array();
}
在代码中,此功能在许多地方进行了测试
if(getSomedata())
getSomedata();
如果不编辑每一段代码,如果从IF语句调用该函数并返回布尔值而不是带数据的数组,我是否可以从 php 收到通知。
答案 0 :(得分:3)
理论上,您可以使用回溯来确定哪些代码称为一段代码,并读取和内省代码以确定函数是否在if
语句中调用。但我甚至不打算详细介绍如何做到这一点,因为这完全是疯狂。
if (function()) function()
是反模式,破坏的代码,坏,坏,坏。你需要解决这种滥用问题,而不是更加疯狂地对抗它。如果在很多地方使用它,请咬紧牙关并修复一次而不必永远处理它。
答案 1 :(得分:-1)
我认为你能做的最好的事情就是使用$ GLOBALS来检查是否设置了数组:
function getSomedata()
{
if(!empty($GLOBALS['Arr']))
return $Arr;
//Get some data
return $Arr;
}
类似的东西......如果在脚本执行期间数据没有改变,它将对你有用。 但我建议你修改你的代码。