簡體   English   中英

如何將數組從php文件導出到另一個php文件

[英]How to export array from php file to another php file

在一個文件中,我有這樣的事情:

    $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 我該怎么做?

你可以使用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'];

所以......“出口”是錯誤的術語,你所看到的是可變范圍

用最簡單的術語 - 在函數外聲明的東西是“全局的”,在函數中聲明的東西是私有的

您想將數組從一個文件傳遞到另一個文件? 如果你有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不存在

您可以通過包含include_num2中的include_num1來跳過“main”

如果要在函數內部使用全局變量,請將該函數聲明為正常,並使用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"
}
?>

嘗試在多個文件之間傳遞時,可以使用類而不是腳本。 這有助於更好地維護代碼。

假設第二個文件是SecondFile.class。 我可以實例化它,然后將數組作為參數傳遞。

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

或者,如果您不需要將第二個文件用於其他任何內容,請使用較短的語法:

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

您可以將數組保存在數據庫,文件,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'];

不是最好的選擇,但它確實有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM