在两个php文件之间传递数组

ric*_*oni 0 php redirect header params

我有一个需要重定向到另一个的PHP文件,但我需要将数组传递给第二个文件.我怎样才能做到这一点.

我知道这是错的,但我需要与此逻辑相似的东西.

<?php 
       $arr = array('this'=>'is', 'some'=>'stuff');
       header("someurl.php", vals=>$arr);
 ?>
Run Code Online (Sandbox Code Playgroud)

Hal*_*yon 7

用途http_build_query:

header("Location: someurl.php?" . http_build_query($arr));
Run Code Online (Sandbox Code Playgroud)


Mar*_*c B 5

这不是你如何做标题.它必须是

header("Location: someurl.php?vals=$arr");
Run Code Online (Sandbox Code Playgroud)

但是,这只会生成URL

someurl.php?vals=Array
Run Code Online (Sandbox Code Playgroud)

请注意,重定向本质上不能执行POST.它将导致新的GET请求,这意味着您必须在URL中传递数据.如果你有一个非常大的网址,你几乎可以保证丢失大部分网址,因为网址有长度限制.

但是,如果它很短,你可以试试:

$url = 'someurl.php?vals=' . url_encode(serialize($arr));
header("Location: $url");
Run Code Online (Sandbox Code Playgroud)

希望它有效.


Abh*_*ngh 5

如果您不想公开$ array,则必须使用PHP inbuild会话支持。

session_start(); // DO CALL ON TOP OF BOTH PAGES
$_SESSION['array'] = $array;
echo $_SESSION['array']; // GIVES SAME $array FOR BOTH PAGES
Run Code Online (Sandbox Code Playgroud)