获取另一个 PHP 文档中的变量集


Get Variable Set in Another PHP Document

好吧,所以我正在尝试在我的索引上调用一个函数.php它将调用在misc.php上设置的函数。 misc.php 上的函数使用在 auction-loop.php 上设置的数组,但它返回的变量就好像变量未定义一样。

这是我的拍卖循环.php的样子,

<?php
$auctions = array();
$row = array();
$sqlquery = "SELECT * FROM auctions";
if ($result = $db->query($sqlquery)) {
    while ($row = $result->fetch_assoc()) {
        $auctions[$row['id']]['id'] = $row['id'];
        $auctions[$row['id']]['title'] = $row['title'];
        $auctions[$row['id']]['featured_image'] = $row['featured_image'];
        $auctions[$row['id']]['description'] = $row['description'];
        $auctions[$row['id']]['date'] = $row['date'];
        $auctions[$row['id']]['location'] = $row['location'];
        $auctions[$row['id']]['highlights'] = $row['highlights'];
        $auctions[$row['id']]['catagories'] = $row['catagories'];
        $auctions[$row['id']]['notes'] = $row['notes'];
        $auctions[$row['id']]['terms'] = $row['terms'];
        $auctions[$row['id']]['contact'] = $row['contact'];
    }
}
?>

这是杂项.php,

<?php
function auction_title($auction_id){
    echo $auctions[$auction_id]['title'];
}
?>

最后,在索引.php上调用的函数,

include_once ('parts/connections/connection.php'); 
include_once ('parts/staticfiles/auction-loop.php');
include_once ('parts/staticfiles/misc.php'); 
<?php auction_title(1); ?>

有了所有这些,它正在吐出错误,

注意:未定义的变量:第 8 行 D:''xampp''htdocs''parts''staticfiles''misc.php 中的拍卖

数组是否被设置为拍卖循环.php而不是进入杂项。提前感谢!:)

您不会$auction变量发送到 auction_title() 函数。如果你想生活在2005年,你可以把 auction_title() 函数中的全局$auctions。或者,更好的处理方法是重新定义函数以接受两个参数。

function auction_title($auctions=array(),$auction_id=0){
    if (!empty($auctions) && isset($auctions[$auction_id])){
       return $auctions[$auction_id]['title'];
    }
} 

希望有帮助。

你必须

告诉你的function auction_title它将使用global $auctions变量。

function auction_title($auction_id) {
  global $auctions;
  echo $auctions[$auction_id]['title'];
}