在PHP中,我是否可以从内部函数中停止函数?,例如
function_1(){
......
function2();
....
}
我可以使用function2中的句子停止function1但是避免停止整个脚本吗?
答案 0 :(得分:4)
如果捕获第二个函数的返回值,则可以执行此操作。
function my_first_function() {
// some code
if( !my_second_function() ) {
return;
}
}
function my_second_function() {
return false;
}
my_first_function();
当然,您需要对其进行修改以满足您的需求,但这应该可以帮助您入门。
答案 1 :(得分:0)
您可以使用RunKit extension,它可以让您重新定义/重命名功能。默认情况下,它只允许在用户定义的函数上完成,但是有一个php.ini设置也可以为内部函数启用它。
那会让你做类似的事情:
runkit_function_rename('print', 'internal_print');
function print(...) {
echo 'welcome to my own implementation of print';
}
然而,搞乱内部函数基本上可以破坏PHP,所以使用风险自负。