本文目录一览:
PHP中一个页面的数组如何传递到另一个页面?
可以用 session
和 表单
两种方式,都是先将数组序列化,然后取出后反序列化。
1. session方式
<?php
session_start();
$arr = array(1,2,3,4,5,6);
$arrse = serialize($arr);
$_SESSION['sessarr'] = $arrse; // 序列化,对象或者数组都可以这样存放到session中
// 如果你想使用session数据返回数组的话
$arr = unserialize($_SESSION['sessarr']); // 反序列化
echo $_SESSION['sessarr'];
echo "<br>";
print_r($arr);
?>
2. 表单方式
<form method="POST" action="1.php">
<input type="hidden" name="post_data" value="<?=base64_encode(serialize($arr))?>" />
</form>
1.php
<?php
print_r(base64_decode(unserialize($_POST['post_data'])));
?>
如何将一个php页面的值传给另一个页面
办法很多:
第一种:GET
GET 是通过 URL 传递参数,例如:
1.php(第一个页面)
<a href="2.php?arr=abc">传递get数组名为arr,值是abc,传递到2.php页面</a>
如果有多个参数:
<a href="abc.php?abc=abc123&id=123">传递get数组名为abc,值是abc</a>
用 &
隔开。
2.php(第二个页面)
<?php
echo $_GET['abc']; // 输出传递过来的值
?>
第二种:POST(表单提交)
表单示例:
<form name="form1" method="post" action="2.php">
<label>
<input type="text" name="val" />
</label>
<p>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</p>
</form>
2.php(第二个页面)
<?php
echo $_POST['val']; // 输出上一个页面提交过来的val文本域的值。
?>
第三种:SESSION(会话)
SESSION 是全局变量,只要被声明,在所有页面都是可用的。
1.php
<?php
session_start(); // 会话开始,这样你才可以调用session
$_SESSION['val'] = '123'; // 直接声明全局变量val的值等于123
echo $_SESSION['val'];
?>
<a href="2.php">跳转到第二个页面去看看。</a>
2.php
<?php
session_start();
echo $_SESSION['val']; // 直接输出全局变量val
?>
第四种:COOKIE
Cookie 是存放在客户端的全局变量。
<?php
setcookie("user", "Alex Porter", time()+3600); // 创建一个名为user的cookie变量,它的值是Alex Porter。它将在一个小时以后过期
echo $_COOKIE['user']; // 你还要刷新一下页面才可以生效
?>
php如何跳转页面传数组
php跳转页面传数组的方法:
- 将数组转化成字符串,用特殊字符如
|
将数组的元素隔开,用普通的字符串参数传递。 - 使用 JSON 方式传递参数。
示例解析(C# 后台)
string objStr = HttpContext.Current.Request["objStr"];
// objStr内容: [{"0": "a", "1": "b", "2": "c", "3": "d"}, {"0": "aa", "1": "bb", "2": "cc", "3": "dd"},{"0": "aa", "1": "bb"}]
方法说明:
private static string GetJsonStr(string ArrayStr)
{
// ArrayStr="[{'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'}]";
string StrJson = ArrayStr;
// 将 "[{" 和 "}]" 去除
StrJson = StrJson.Substring(2, StrJson.Length - 4);
// 将 "},{" 替换为 "|" 便于分割成数组
StrJson = StrJson.Replace("},{", "|");
// 以 "|" 为分隔符将每个JSON对象分割成字符串
return StrJson.Split('|');
}