导航:首页 > 编程语言 > php调用对象函数参数

php调用对象函数参数

发布时间:2022-11-17 03:28:19

1. php函数调用参数的问题,主要是参数数量不确定。

参数不确定的情况下敢不敢把所有的参数和值按照key=>value的性质组织成数组,然后json_encode一下,函数调用的时候传递一个参数,参数的值就是这个json,然后过去再把json_decode成数组?你觉得呢?

2. php中类的构造函数参数问题

其实很多OOP语言都差不多,对于对象的传递是引用,如果你不想对象被引用,那你需要把对象clone一个新对象。 字串与数值的是值传递。

3. PHP调用类的函数&session传递对象问题

使用SESSION存储的对象时,需要载入该对象所属类的定义。在你的例子中,SESSION中的对象为a的实例,你必须包含定义类a的文件,否则对象会失效。即会得到不完整类PHP_Incomplete_Class。这个类类似于stdClass,失去了原有对象定义的方法。

望采纳,谢谢支持!

4. php对象:对象传入函数问题

函数在调用的时候,参数会被重新开辟内存空间的。
也就是说:

你传值穿的是$p1,但在函数test运行的时候会另开辟一个空间,复制一遍$p1,之后再函数中操作的内存都是这个函数新开辟的空间。在这个函数test消亡的时候,这个空间被释放。

所以说你这个根本就没有修改了$p1的值,只是复制了一遍,然后改了,然后删了。

如楼上说的,如果你在参数前面加上"&"符号,这个叫引用。则在参数运行的时候不会另外的开辟内存空间,而是用你的参数的内存空间。

对于函数你可以看看c或者c++语言的函数部分,他们是一样的。给你个例子:
<?php
function swap(&$a,$b){//$a$b叫形参,只是在表示第一个参数第二个参数
$a=20;
$b=10;
}
$x=10;
$y=20;
swap($x,$y);//swap中第一个参数是带引用的,被改变了值,第二个参数没有引用,并不会改变参数的值
echo "x=".$x." y=".$y;//结果 x=20 y=20
?>

5. php 函数参数问题

直接return $rows就行了

6. php调用函数时,使用某个参数的前面的参数默认值时,应该怎么处理

PHP不支持这种调用方式,你的需求是不能实现的。
如果你不能改动函数,那么你可以做一个封装。PHP的语法比较灵活,有几种替代方式你可以借鉴。这些例子都有广泛的应用。
示例一:如果参数值为null,则在函数里强制赋值为默认值

1
2
3
4
5
6
7
8

<?php
function foo2($a=1,$b=2,$c=3) {
if ($a === null) $a=1;
if ($b === null) $b=2;
if ($c === null) $c=3;
foo($a, $b, $c);
}
foo(1, null, 3);

示例二:使用数组参数

<?php
function foo3($array=array()) {
extract($array);
if (!isset($a)) $a=1;
if (!isset($b)) $b=2;
if (!isset($c)) $c=3;
foo($a, $b, $c);
}
foo(array('a'=>1, 'c'=>3));

python是支持你所说的那种调用方式的:

def foo(a=1, b=2, c=3):
pass
foo(a=1, c=3)

7. php对象调用类的函数

调用方法getdir返回字符串,但没有输出到页面显示,也没有赋值操作,不知道有什么用

方法img2data定义中的$imgfrom($imgsrc);这一句完全没看懂,在我的水平上理解这种写法是错的。

方法_imgfrom定义中getimagesize这个函数不知道来自哪儿。

总结:太混乱了。

类中访问内部属性和方法,要用$this->属性名/方法名

8. PHP函数方法里的参数可以是本函数对象吗,QueryResponse Query(Query $parameters)这个函数我一直没明白

QueryResponse Query (Query $parameters)
‖ ‖ ‖ ‖
返回值类型 方法名 参数类型 参数

9. php如何调用函数

PHP函数调用与Java/C/C++是一样的额,通过函数名(参数列表)就可以了,

举个栗子:

图中,有两处函数调用,一开始的session_start()是调用的PHP函数,validate_user($username, $password)是用户自定义函数,同样的方式调用。

10. php中在外部怎样调用函数里面的参数

你这是一个类方法么,如果是你可以用

$result=array();
functiongetResult($ret,$i=0){
foreach($retas$k=>$v){
global$resultaaa;
$tmp=array();
$tmp["col_id"]=$v["col_id"];
$tmp["col_pid"]=$v["col_pid"];
$tmp["col_path"]=$v["col_path"];
$tmp["col_title"]=$v["col_title"];
$this->result[$i++]=$tmp;
if($v['k']!=NULL){
$i=$this->getResult($v['k'],$i);
}
}
return$i;
}

$this->result;

如果不是类方法,你的$i = $this->getResult($v['k'],$i); 这一句是错误的,

你可以参考风云style的答案,或者增加一个传址参数

functiongetResult($ret,$i=0,&$result = array()){}

外面直接用$result 就是方法里面修改后的变量

阅读全文

与php调用对象函数参数相关的资料

热点内容
银河v10驱动重编译 浏览:889
电脑上文件夹右击就会崩溃 浏览:689
右美维持算法 浏览:938
php基础编程教程pdf 浏览:219
穿越之命令与征服将军 浏览:351
android广播重复 浏览:832
像阿里云一样的服务器 浏览:318
水冷空调有压缩机吗 浏览:478
访问日本服务器可以做什么 浏览:432
bytejava详解 浏览:448
androidjava7 浏览:385
服务器在山洞里为什么还有油 浏览:886
天天基金app在哪里下载 浏览:974
服务器软路由怎么做 浏览:292
冰箱压缩机出口 浏览:228
OPT最佳页面置换算法 浏览:645
网盘忘记解压码怎么办 浏览:853
文件加密看不到里面的内容 浏览:654
程序员脑子里都想什么 浏览:434
oppp手机信任app在哪里设置 浏览:189