我正在使用这个功能;

function forums_fid()
{
    if (!defined('FORUMS_FID'))
    {
        $maktaba_fid = '14';
        $ask_question_fid = '9';
    }
    define('FORUMS_FID', 1);
}

我想在另一个函数中使用变量的值,因此为此我尝试使用此代码;
forums_fid();
$maktaba = '<a href="www.domain.com/forumdisplay.php?fid='.$maktaba_fid.'"><img src="./images/maktaba.png" alt="" title=""></a>';
$ask_question = '<a href="www.domain.com/newthread.php?fid='.$ask_question_fid.'"><img src="./images/ask-question.png" alt="" title=""></a>';

不幸的是,第二个代码中的变量是空的。

请帮忙!

最佳答案

忘记我之前说过的话。您可以做的是定义两个空变量(NULL)并在函数中将它们声明为全局变量,用您想要的任何内容覆盖它们然后使用它们。顺便说一句,您必须将define() 放在if-clausel 中,否则PHP 会抛出错误。

function forums_fid()
{
    global $maktaba_fid, $ask_question_fid;

    if (!defined('FORUMS_FID'))
    {
        define('FORUMS_FID', 1);
        $maktaba_fid = '14';
        $ask_question_fid = '9';
    }
}

$maktaba_fid = NULL;
$ask_question_fid = NULL;
forums_fid();
$maktaba = '<a href="www.domain.com/forumdisplay.php?fid='.$maktaba_fid.'"><img src="./images/maktaba.png" alt="" title=""></a>';
$ask_question = '<a href="www.domain.com/newthread.php?fid='.$ask_question_fid.'"><img src="./images/ask-question.png" alt="" title=""></a>';

那是一种方式。更好的方法是实际返回值(例如作为数组)。
function forums_fid()
{
    if (!defined('FORUMS_FID'))
    {
        define('FORUMS_FID', 1);
        return array('maktaba_fid' => 14, 'ask_question_fid' => 9);
    }
}

$return = forums_fid();
$maktaba = '<a href="www.domain.com/forumdisplay.php?fid='.$return['maktaba_fid'].'"><img src="./images/maktaba.png" alt="" title=""></a>';
$ask_question = '<a href="www.domain.com/newthread.php?fid='.$return['ask_question_fid'].'"><img src="./images/ask-question.png" alt="" title=""></a>';

关于php - 从函数中获取 vars 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25092345/

10-14 10:28