返回一个嵌套在if else控件结构中的变量?

时间:2011-05-01 19:44:35

标签: php

如何返回一个嵌套在if else结构中的变量,用于另一个函数,该函数在第一个函数中改变返回变量的结果的程序流? 这是程序的基本结构,if和else语句可以包含更多if else语句,这就是我深入使用单词的原因。我如何在第二个函数中使用变量?

e.g。

function this_controls_function_2($flow) {
    if($flow == 1) {
       $dothis = 1;
       return $dothis;
    }
    else {
       $dothis = 2;
       return $dothis;
    }
}

function this_is_function_2() {
    if($dothis == 1) {
       //DO SOMETHING
    }
    else {
       //DO SOMETHING
    }
} 

2 个答案:

答案 0 :(得分:4)

function this_is_function_2($flow) {
    $dothis = this_controls_function_2($flow);
    if($dothis == 1) {
       //DO SOMETHING
    }
    else {
       //DO SOMETHING
    }
}

或者,如果你想调用函数2之外的第一个函数:

function this_is_function_2($dothis) {
    if($dothis == 1) {
       //DO SOMETHING
    }
    else {
       //DO SOMETHING
    }
}

$dothis = this_controls_function_2($flow);
this_is_function_2($dothis);

答案 1 :(得分:1)

你要么直接从函数中读取返回的变量:

function this_is_function_2() {
    if(this_controls_function_2($flow) == 1) {
       //DO SOMETHING
    }
    else {
       //DO SOMETHING
    }
}

或者您将变量标记为全局:

function this_controls_function_2($flow) {
    global $dothis;

    if($flow == 1) {
       $dothis = 1;
       return $dothis;
    }
    else {
       $dothis = 2;
       return $dothis;
    }
}

function this_is_function_2() {
    global $dothis;

    if($dothis == 1) {
       //DO SOMETHING
    }
    else {
       //DO SOMETHING
    }
}

为此,函数调用的顺序必须适合:

this_controls_function_2($flow);

/* ... */

this_is_function_2();