从PHP文件中获取Array并在另一个PHP文件中使用

时间:2015-11-24 15:29:28

标签: php

所以我无法从一个PHP文件到另一个PHP文件中获取数组。

在我的第一个文件(file1.php)中,我得到了以下代码:

print_r($order->delivery);

当使用echo当然会显示它,并输出正确的东西。它给了我一个包含订单信息的数组。现在我得到了另一个PHP文件,我需要在这里使用这些信息。

到目前为止,我尝试将file1.php包含到file2.php然后回显数组......但结果是空的。

require_once('path/file1.php');
echo print_r($order->delivery);

我尝试直接在file1.php中回显我的数组,添加一个这样的div

echo "<div id='test'>" . print_r($order->delivery, true) . "</div>";

然后用DOM

获取div的内部HTMl
    $dom = new DOMDocument();

    $dom->loadHTML("mypageurl");

    $xpath = new DOMXPath($dom);
    $divContent = $xpath->query('//div[id="test"]');

    if($divContent->length > 0) {
        $node = $divContent->item(0);
        echo "{$node->nodeName} - {$node->nodeValue}";
    }
    else {
        // empty result set
    }

嗯......一切都行不通。有什么建议吗?

4 个答案:

答案 0 :(得分:1)

您必须设置变量或其他内容,而不是回显它。

file1.php:

$delivery = $order->delivery;

file2.php

include('path/file1.php');
echo "<div id='test'>" . (isset($delivery['firstname']) ? $delivery['firstname'] : '') . "</div>";

或者如果在file1.php

中设置了$ object,则直接使用它

file2.php

include('path/file1.php');
echo "<div id='test'>" . (isset($order->delivery['firstname']) ? $order->delivery['firstname'] : '') . "</div>";

答案 1 :(得分:1)

您可以在文件中返回一个数组,然后在另一个文件中使用它:

<?php
/* File1.php */
return array(
    0,1,2,3
);

-

<?php
/* File2.php */
var_dump(require_once('File1.php'));

答案 2 :(得分:0)

注意变量范围。请看这个链接:http://php.net/manual/en/language.variables.scope.php

请试用此代码:

require_once('path/file1.php');
global $order;
print_r($order->delivery);

$order定义为global可以解决您的问题。

答案 3 :(得分:-1)

您可以使用$ _SESSION或$ _COOKIE执行此操作,有关详细信息,请参阅此处; PHP Pass variable to next page