所以我无法从一个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
}
嗯......一切都行不通。有什么建议吗?
答案 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