php对象数组参数传递参数
‘壹’ php中可以将一个对象当作参数传到另一个页面吗
class test{
//略
}
$obj = new test();
$s_obj = serialize($obj);
session_start();
$_SESSION['s_obj'] = $s_obj;
将对象serialize再放入session或cookie...文件 什么的.到另一个页面用相应的方式取出来再unserialize就可以用了.
参考php手册:
想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。你正 serialize() 的数组/对象中的引用也将被存储。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
‘贰’ php 数组传值
这么多的元素啊
很明显,传值是不可以传数组的,你可以先将数组序列化一下,到了那边反序列化一下,就行了
‘叁’ php函数中数组作为参数时是值传递还是引用传递
默认情况下,数组是值传递,只有对象是引用传递。
‘肆’ PHP 有办法把 方法参数传递给数组吗
private $Menu = array();
public function setMenu($array){
$this -> Menu = $array;
}
这样就行了呀,和一般的属性变量一样。
‘伍’ php多数组传递参数问题,在线等
这是我自己写的,看看是否能满足你的需求,因为你的b函数没有给出,所以我随便构造了一个,这里我只接收了5个参数,还需要的话可以自行添加,给定默认值就行:
functionb($name,$data0='',$data1='',$data2='',$data3=''){
print_r([$name,$data0,$data1,$data2,$data3]);
}
functiona($name,$data){
array_unshift($data,$name);
call_user_func_array('b',$data);
}
a('name',['1','2']);
‘陆’ php soap扩展做webservice的时候 如何传入数组或者对象参数
SOAP可以传递数组和对象,比较复杂不便详述。你可以在网上查阅SOAP的规范。SOAP的对象需要定义在wsdl里。这就要求java调用方也定义这些对象。
使用SOAP要注意一个问题:SOAP没有统一的标准,不同语言对SOAP的实现有微小差别,有可能导致不兼容。
编写SOAP的wsdl是件麻烦而且痛苦的事。你可以试试使用第三方库。Yii框架就提供一个强大的SOAP解决方案。你可以通过注释和类,自动生成wsdl。个人不推荐在PHP中使用SOAP,因为PHP不像其他语言类似JAVA、.NET,提供强大的SOAP支持。
你可以考虑轻量级API,也可以考虑XML-RPC。并不比SOAP差,而且很灵活。
望采纳,谢谢!
‘柒’ 请问在PHP里是如何把数组作为参数传递给函数
数组可以直接作为参数传进函数去的.
-----------
如果你想把数组传进去经过函数处理后,不通过return获取数组的变化.你可以把数组的引用传进去.例如
$a
=
array(1,2,3);
test($a);
print_r($a);//你就会发现.$a已经和之前不一样了
function
test(&$a){
$a[3]
=
4;
//给数组$a增加一个元素
}
‘捌’ php的数组传递
可用serialize()函数将数组字符串化,
然后用unserialize()处理一下,就把数组传到下个页面了.
page1:
<input type="hidden" name="array2string" value="<?=htmlspecialchars(serialize($array)) ?>">
page2:
$array = unserialize($_REQUEST["array2string"]);
‘玖’ php数组传值的问题
这个函数没有这种用法。换个思路试试
$arr=array(1,2,3,4);
functionmyfunction($v){
global$arr;//http://localhost/wk/www/php/global.html
//....
}
‘拾’ php 超链接里的参数如何传递数组
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。