在函数参数中引用过程PHP中的现有对象

时间:2014-08-29 17:43:03

标签: php mysqli

让我们拥有以下代码:

$mysqli = new mysqli("hostname", "user", "password", "database");

function close () {
    $mysqli->close();
    die;
}

这不起作用,因为$ mysqli对象未在函数close()的参数中引用。是否可以在不修改参数列表(不是参数)的情况下引用此对象?让我们假设为了这个问题,我不能将$ mysqli作为参数放入close(),我必须以另一种方式引用它。可以这样做吗?

谢谢。

编辑:即使我使用面向对象的mysqli,这是程序性PHP。我的代码中没有类。

2 个答案:

答案 0 :(得分:2)

如果你想坚持使用程序功能,你有两个选择:

1

 function close($mysqli) {
   $mysqli->close();
   die; // This probably shouldn't be here.
  }

2

function close() {
  global $mysqli;
  $mysqli->close();
  die; // This probably shouldn't be here.
}

答案 1 :(得分:0)

function close () {
    $GLOBALS['mysqli']->close();
    die;
}