php - 从函数中获取变量值

标签 php function variables scope

我正在使用这个功能;

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 子句中,否则 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 - 从函数中获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25092345/

相关文章:

php - 从 PHP 的 mysql_query 转换成 Python?

javascript - 如何使用 php mysql json 根据 url 中的行 id 从数据库检索值?

php - 将信息悬停在缩略图上时显示信息

php - 动态查询 Highcharts

java - 使用 Classname.this.methodname

python - 使用函数更改参数值?

java - 在 Java 中将数组中的变量直接设置为变量列表

未强制执行 C++ 虚函数

javascript - 从成功函数ajax获取变量

Javascript:无法覆盖变量