[英]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;
}
我想在另一個php文件中使用$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.