如何将数组从php文件导出到另一个php文件

时间:2018-05-04 12:44:04

标签: php

在一个文件中我有这样的东西:

    $result = mysqli_query($con, "SELECT * FROM users WHERE id_province = '".$province_id."' AND id_city = '".$city_id."' AND age >= '".$age1."' AND
    age <= '".$age2."' AND id_rank = '".$rank_id."' AND id_position = '".$position_id."';");

    while ($row = mysql_fetch_array($result)) {
        $array[] = $row;
    }

我想在另一个文件中使用$array。我该怎么办?

4 个答案:

答案 0 :(得分:3)

您可以使用SESSIONS

session_start();    
$result = mysqli_query($con, "SELECT * FROM users WHERE id_province = '" . $province_id . "' AND id_city = '" . $city_id . "' AND age >= '" . $age1 . "' AND
            age <= '" . $age2 . "' AND id_rank = '" . $rank_id . "' AND id_position = '" . $position_id . "';");

while ($row = mysql_fetch_array($result)) {
    $array[] = $row;
}
$_SESSION['array'] = $array;

在第二个文件中,您可以使用以下代码

@session_start();
$array = $_SESSION['array'];

答案 1 :(得分:1)

所以......&#34;出口&#34;这是错误的术语,你所看到的是变量范围

用最简单的术语 - 在函数外声明的东西是&#34;全局&#34;在函数中声明的内容对于

是私有的

您想将数组从一个文件传递到另一个文件吗?如果你有3个文件(main,include_num1和include_num2),这很简单;

主;

<?php
require_once 'include_num1.php';
require_once 'include_num2.php';
?>

include_num1;

<?php
$myarray = array("a", "b", "c")
?>

include_num2;

<?php
var_dump($myarray);
?>

这会产生类似的东西;

myarray = (array)
    string 0 : a(1)
    string 1 : b(1)
    string 2 : c(1)

这是因为在这个例子中,数组是在全局范围内声明的,如果你反过来做了require - 这会在var转储时出错,$ myarray不存在< / p>

你可以跳过&#34; main&#34;只需加入include_num2

中的include_num1即可

如果要在函数内使用全局变量,请将该函数声明为正常,并使用可用的global;

<?php
$myvar = "A variable";

function myFunction()
{
    if (isset($myvar)) print $myvar; // Will do nothing
    global $myvar;
    if (isset($myvar)) print $myvar; // Will Print "A variable"
}
?>

答案 2 :(得分:1)

尝试在多个文件之间传递时,可以使用类而不是脚本。这有助于更好地维护代码。

假设第二个文件是SecondFile.class。我可以实例化它,然后将数组作为参数传递。

$secondFile = new SecondFile;
$secondFile->someClassMethod($array);

或者,如果您不需要使用第二个文件,请使用更短的语法:

(new SecondFile)->someClassMethod($array);

答案 3 :(得分:0)

您可以将数组保存在数据库,文件,cookie,会话....

这取决于您想要做什么与必要的安全级别。

最简单的方法是:

//At the top of your page
@session_start();

//This line goes after you get all data you want inside your array
$_SESSION['mySession'] = $array;

在另一页:

//At the top of your page
@session_start();

//To recover you array:
$array = $_SESSION['mySession'];

不是最好的选择,但它有效。