PHP:在函数中的if语句中使用数组中的值

PHP:在函数中的if语句中使用数组中的值,php,arrays,function,if-statement,Php,Arrays,Function,If Statement,我有以下代码,可以很好地与我的代码内联使用: if ($progressData[1] == "yes") { echo "Complete"; } else echo "Not Yet Complete"; 但是,我想从函数调用它: function progressOutput () { if ($progressData[1] == "yes") { echo "Complete"; }

我有以下代码,可以很好地与我的代码内联使用:

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";
但是,我想从函数调用它:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);
调用
progressOutput()
时,我得到“尚未完成”,即使
$progressData[1]
等于“是”

下面是我调用函数的方式:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);
任务状态:

$progressData[1]
实际上等于“yes”时,我需要做什么才能让
progressOutput()
返回“Complete”?

您需要将变量从调用范围传递到函数中,以便函数能够访问它

函数应接受一个参数:

function progressOutput ($progressData) {
    if ($progressData[1] == "yes")
        echo "Complete";
    else
        echo "Not Yet Complete";
}   
Mission Status: <?php progressOutput($progressData); ?>
当你调用它时,你应该提供一个参数:

function progressOutput ($progressData) {
    if ($progressData[1] == "yes")
        echo "Complete";
    else
        echo "Not Yet Complete";
}   
Mission Status: <?php progressOutput($progressData); ?>
以及输出该函数返回的值:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);
任务状态:

您需要将变量从调用范围传递到函数中,以便函数能够访问它

函数应接受一个参数:

function progressOutput ($progressData) {
    if ($progressData[1] == "yes")
        echo "Complete";
    else
        echo "Not Yet Complete";
}   
Mission Status: <?php progressOutput($progressData); ?>
当你调用它时,你应该提供一个参数:

function progressOutput ($progressData) {
    if ($progressData[1] == "yes")
        echo "Complete";
    else
        echo "Not Yet Complete";
}   
Mission Status: <?php progressOutput($progressData); ?>
以及输出该函数返回的值:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);
任务状态:
在PHP中查找。PHP的变量不会“滴流”到较低的作用域,必须在较低的作用域中显式声明为全局变量才能可见

function progressOutput() {
   global $progressData;
   etc...
}
另一个选项是将progressData作为参数传入:

progressOutput($data);

function progressOutput($progressData) {
    ....
}
在PHP中查找。PHP的变量不会“滴流”到较低的作用域,必须在较低的作用域中显式声明为全局变量才能可见

function progressOutput() {
   global $progressData;
   etc...
}
另一个选项是将progressData作为参数传入:

progressOutput($data);

function progressOutput($progressData) {
    ....
}

$progressData不在您的函数范围内 你应该把它传递给你的函数

函数progressOutput($progressData){ //现在可以在这里买到了
}$progressData不在您的功能范围内 你应该把它传递给你的函数

函数progressOutput($progressData){ //现在可以在这里买到了
}

假设您使用的是如上所示的函数,这意味着函数中不知道该变量

为了实现这一点,您可以在
global
中对变量进行如下操作:

global $progressData;
然后你就可以用它了

或者您应该在函数中传递变量:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);

假设您正在使用如上所示的函数,这意味着在函数中这个变量是未知的

为了实现这一点,您可以在
global
中对变量进行如下操作:

global $progressData;
然后你就可以用它了

或者您应该在函数中传递变量:

function progressOutput () {

    if ($progressData[1] == "yes") {

        echo "Complete";
    }
    else

        echo "Not Yet Complete";

}   
Mission Status: <?php progressOutput(); ?>
Mission Status: <?= progressOutput($progressData); ?>
progressOutput(progressData[1]);

谢谢你,米格!这就成功了!我尝试了第一部分,但在调用函数时忘记了提供参数。再次感谢!谢谢你,米格!这就成功了!我尝试了第一部分,但在调用函数时忘记了提供参数。再次感谢!谢谢Marc B。你的第二个选择奏效了。我还没有试过第一种,但我相信它也会起作用。再次感谢!谢谢Marc B。你的第二个选择奏效了。我还没有试过第一种,但我相信它也会起作用。再次感谢!