当前位置:首页 » 编程语言 » php函数传址

php函数传址

发布时间: 2023-01-01 08:28:49

php函数中中$和&$的区别

$ 传值,$a 和 $b 的值互不相干。
&$ 传址,$a 变 $b 跟着变。

⑵ php的函数中&是什么意思 如函数: private function test(&$array) {....}

这是函数的传址调用。$array是一个变量,传给test()的是$array的地址,函数直接改写$array的内容返回值

⑶ php中array_map回调函数传地址问题

$a只是数组中的值,而不是变量。

所以jiec函数接收到的其实是常量。

⑷ 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中ftp函数上传文件以及解决上传文件失败的方法

一、 ftp上传图片参数说明。
1 $source:本机图片完整的路径。(/a/b/c.jpg)
2 $des :上传目标linux主机完整的路径。
3 $ftp_server:ftp地址
4 $ftp_user_name:ftp用户名
5 $ftp_user_pass: ftp密码
6 $port:端口

二、如何使用php中ftp函数上传文件的方法
例如:
本地地址为:/a/b/c.jpg
目标地址为:/d/a/b/c.jpg
2.1、linux主机上传linux主机。
01 function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 // 此步骤是在于上传目录与本机的目录不一致转换使用
04 $des = "/d" . $des;
05 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
06 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
07 ftp_pasv($conn_id, TRUE);
08 $ftp_folder = dirname($des);
09 $dir = explode("/", $ftp_folder);
10 $path = "";
11 for ($i = 0; $i < count($dir); $i++) {
12 $path .= "/" . $dir[$i];
13 if (!ftp_chdir($conn_id, $path)) {
14 $result = ftp_mkdir($conn_id, $path);
15 }
16 }
17 if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
18 return 1;
19 } else {
20 return 0;
21 }
22 ftp_close($conn_id);
23 }

2.2、windows主机上传linux主机。
01 function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 $des = "/d" . $des;
04 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
05 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
06 ftp_pasv($conn_id, TRUE);
07 $ftp_folder = dirname(str_ireplace('\\', '/', $des));
08 $dir = explode("/", $ftp_folder);
09 $path = "";
10 for ($i = 0; $i < count($dir); $i++) {
11 $path .= "/" . $dir[$i];
12 if (!ftp_chdir($conn_id, $path)) {
13 $result = ftp_mkdir($conn_id, $path);
14 }
15 }
16 if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
17 return 1;
18 } else {
19 return 0;
20 }
21 ftp_close($conn_id);
22 }

上面的两种使用php中ftp函数上传文件的方法基本可以满足正常的使用。

⑹ php中的函数传址和C语言中好像不一样,有高手解决一下

在php中& 为引用 而在C语言中 & 可以理解为取地址符(相当于指针)

下面是php5手册中的原文:

引用不是指针。这意味着下面的结构不会产生预期的效果:

<?php
function foo(&$var)
{
$var =& $GLOBALS["baz"];
}
foo($bar);
?>

这将使 foo 函数中的 $var 变量在函数调用时和 $bar 绑定在一起,但接着又被重新绑定到了 $GLOBALS["baz"] 上面。不可能通过引用机制将 $bar 在函数调用范围内绑定到别的变量上面,因为在函数 foo 中并没有变量 $bar(它被表示为 $var,但是 $var 只有变量内容而没有调用符号表中的名字到值的绑定)。可以使用引用返回来引用被函数选择的变量。

⑺ php函数传递对象时 传入的是值还是地址

PHP函数是可以传值与地址的,正常的函数直接是传值,如果函数的参数加上了&就表示传递的是地址。当然函数参数也是可以传递一个对象的。

⑻ php中传值与传引用的区别

传值要重新构造一份原参数的拷贝
传引用则不需要

传值对参数的修改不会改变原参数
传引用时可以直接修改原参数

至于什么时候传引用,这看你的需要。
如果你的参数对象比较大(占用内存很多),而函数本身不需要修改原对象时,这个时候就推荐传引用,可以省去临时对象的构造开销。
如果你有实际修改原参数的需要,那么就只能传引用了。

⑼ php函数接收对象的时候,传进的【一定】是对象的地址么

是的 一个对象被实例化出来后,其实是在栈中存放的此对象的地址,对象本身存在堆中的,而在传递过程中,传递的是这个对象的地址.

⑽ php中的数组参数不是传址吗

要传址给function,参数前加&号,你可以把sort想成如下形式:
Function sort(&$array){}

热点内容
java二进制读取 发布:2025-07-03 11:55:52 浏览:739
我的世界服务器记分板排版 发布:2025-07-03 11:39:22 浏览:569
安卓前期用什么处理器 发布:2025-07-03 11:37:54 浏览:870
如何更换安卓手机内存 发布:2025-07-03 11:18:52 浏览:57
魔兽清理缓存 发布:2025-07-03 10:46:38 浏览:521
神州防火墙web怎么配置代码 发布:2025-07-03 10:37:54 浏览:328
安卓看小说哪个软件免费又最好 发布:2025-07-03 10:25:30 浏览:437
linuxprofile 发布:2025-07-03 10:25:29 浏览:719
存储蓝盘 发布:2025-07-03 09:55:10 浏览:887
java必学 发布:2025-07-03 09:21:57 浏览:450