當前位置:首頁 » 編程語言 » 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){}

熱點內容
華為雲穩定伺服器 發布:2025-07-02 13:58:09 瀏覽:426
安卓游戲在哪裡下載免費 發布:2025-07-02 13:58:08 瀏覽:595
mts壓縮 發布:2025-07-02 13:53:31 瀏覽:964
資料庫的事務事務 發布:2025-07-02 13:51:15 瀏覽:609
買五菱s3哪個配置好 發布:2025-07-02 13:51:11 瀏覽:772
天乾地支對照表及演算法 發布:2025-07-02 13:50:04 瀏覽:786
我的世界上線送神裝伺服器 發布:2025-07-02 13:48:24 瀏覽:315
多ip雲伺服器怎麼設置 發布:2025-07-02 13:46:29 瀏覽:67
鳥哥的linux私房菜基礎篇第三版 發布:2025-07-02 13:44:46 瀏覽:107
我姐姐手機上的密碼多少的短視頻 發布:2025-07-02 13:09:10 瀏覽:800