Code前端首页关于Code前端联系我们

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

terry 2年前 (2023-09-30) 阅读数 28 #PHP
文章标签 PHP microtime

本文目录一览:

  • 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

?

print_r(base64_encode(unserialize($_POST['post_data'])));

?

如何将一个php页面的值传给另一个页面

办法很多:

第一种:GET(就是URL,也就是链接上带有参数),例子:

1.php(第一个页面)

a href="2.php?arr=abc"传递get数组名为arr,值是abc,传递到2.php页面

/a

看到?arr=abc了吧,这就是参数了,如果有两个呢:a href="abc.php?abc=abc123=123"传递get数组名为abc,值是abc

/a

用这个隔开,当然啦,在网页上看就是

2.php(第二个页面)

?php

echo $_GET['abc'];

//输出传递过来的值

-------------------------------------------------------------------------

第二个办法是:POST,表单提交,依旧是给例子:

form name="form1" method="post" action="2.php"

method的意思是以post方式提交到2.php,action的意思是动作,method是类型

随便输一个:

label

input type="text" name="val" /

input是html的标签,类型是文本域(输入文字),名字是val(后台用于接收的名称)

/label

p

label

input type="submit" name="Submit" value="提交" /

/label

/p

/form

2.php(第二个页面)

?php

echo $_POST['val'];

//输出上一个页面提交过来的val文本域的值。

?

-------------------------------------------------------------------------------------------

第三个办法是:SESSION,会话。还是给例子(注意,SESSION是全局变量,也就是说,它只要被声明,在所有页面都是可用的,前提是你不关闭网页或者没有到SESSION的生命周期。而POST和GET只要php执行完毕就会立刻被释放,也就没有了。):

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是存放在客户端上(也是全局变量),session是存放在服务器上。这是两者唯一的不同

然后捏,我也没用过cookies,所以呢。我只能百度一个给你咯,调用办法一样的$_COOKIE['名称']

?php

setcookie("user", "Alex Porter", time()+3600);

//创建一个名为user的cookie变量,它的值是Alex Porter。它将在一个小时以后过期,也就是不能访问了

echo $_COOKIE['user'];

//你还要刷新一下页面才可以生效= =。。

?

?

php如何跳转页面传数组

php跳转页面传数组的方法:

1、将数组转化成字符串,用特殊字符如“|”将数组的元素隔开,用普通的字符串参数传递

2、使用json方式传递参数

解析

C#后台得到的是个string

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"}])

/// summary

/// 从JS数组中解析出JSON对象返回该对象的字符串表示

/// /summary

/// param name="ArrayStr"/param

/// returns/returns

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="'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'";

StrJson = StrJson.Substring(2, StrJson.Length - 4);

//将“},{”替换为“|”便于分割成数组

//StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'|'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'|'0': 'aa', '1': 'bb'";

StrJson = StrJson.Replace("},{", "|");

//以“|”为分隔符将每个JSON对象分割成字符串

/*结果为:strjson[0]="'0': 'a', '1': 'b', '2': 'c', '3': 'd'";

strjson[1]="'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'";

strjson[2]="'0': 'aa', '1': 'bb'";*/

return StrJson.Split('|');

}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门