使用函数内部的全局函数从包含的文件中获取变量。 PHP

时间:2010-07-07 13:29:23

标签: php

非常简单我只是认为这是我。

这是文件1.php

if(ctype_digit($_GET['id']))
{
    $item_id = "Hello";
}
else
{
    //Something
}

这是文件2.php

function item_show(){

        $item_query = "SELECT title FROM tbl_items WHERE id='" . mysql_real_escape_string($item_id) . "' ";

}

现在我的问题是如何从2.php函数中的1.php中获取$item_id的值?

添加文件1.php和文件2.php都包含在index.php

6 个答案:

答案 0 :(得分:2)

有没有什么能阻止你将它作为函数参数传递给你?

item_show($item_id);

或(非常hacky,不推荐):

function item_show(){
        global $item_id;
        $item_query = "SELECT title FROM tbl_items WHERE id='" . mysql_real_escape_string($item_id) . "' ";

}

答案 1 :(得分:1)

我想index.php包含命令file1.php,file2.php之后的文件。

在这种情况下,您可以在file2.php中使用以下代码:

function item_show() {
  global $item_id;
  $item_query = "SELECT title FROM tbl_items WHERE id='" . mysql_real_escape_string($item_id) . "' ";
}

答案 2 :(得分:1)

function item_show($item_id){}

function item_show()
{
    global $item_id;
}

答案 3 :(得分:1)

  1. 使用require包含1.php。
  2. 中的代码
  3. 在1.php中,返回$ item_id的值。
  4. 从2.php。
  5. 调用1.php中的函数

答案 4 :(得分:0)

使用

$GLOBALS['item_id']

在两个文件中,而不是

$item_id

答案 5 :(得分:0)

function item_show()
{
    global $item_id;
}

但我听说使用全局不是一种好的编码方法。