【发布时间】:2012-10-04 15:58:30
【问题描述】:
我想从另一个 PHP 页面调用变量。示例:
我有一个名为 index.php 的 PHP 页面,并且有一个类似的数组:
<$php
$arr = array("banana","apple","orange");
$>
我创建了另一个 PHP 页面:home.php,我想将数组 ($arr) 从 index.php 调用到 home.php。
我该怎么做?
【问题讨论】:
我想从另一个 PHP 页面调用变量。示例:
我有一个名为 index.php 的 PHP 页面,并且有一个类似的数组:
<$php
$arr = array("banana","apple","orange");
$>
我创建了另一个 PHP 页面:home.php,我想将数组 ($arr) 从 index.php 调用到 home.php。
我该怎么做?
【问题讨论】:
我想假设index.php 和home.php 是不同的页面,而您can not 在另一个页面中包含一个
然后你可以使用会话:
index.php
session_start();
$_SESSION['array'] = array("banana","apple","orange");
home.php
session_start();
print_r($_SESSION['array']);
【讨论】:
如果这是 index.php 的全部内容,那么您需要将第一页包含到第二页中,所以在 home.php 中您将拥有
<?php
require_once('index.php');
print_r($arr);
?>
请记住,如果您这样做,如果您需要 index.php,它将包含并尝试从那里运行所有代码。这意味着如果 index.php 引用 home.php,并且您使用上面的示例,您将发现自己处于一个无休止的循环中。但是,如果 index.php 中只有您在上面放置的代码,则应该可以正常工作
【讨论】:
require_once(如您所愿)应该可以防止循环。不过,这里还有其他考虑因素。例如,index.php 可能具有对home.php 有害的副作用。
您可以使用$_SESSION require 或include
home.php
<?php
include 'index.php';
print_r($array);
?>
或
<?php
require('index.php');
// you can also use require_once to prevent looping
print_r($array);
?>
【讨论】: