包含php之间跨页传数组的词条

发布时间:2022-11-25

本文目录一览:

  1. PHP中一个页面的数组如何传递到另一个页面?
  2. 如何将一个php页面的值传给另一个页面
  3. php如何跳转页面传数组

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跳转页面传数组的方法:

  1. 将数组转化成字符串,用特殊字符如 | 将数组的元素隔开,用普通的字符串参数传递。
  2. 使用 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('|');
}