當前位置:首頁 » 編程語言 » php引用變數

php引用變數

發布時間: 2022-05-02 09:28:34

php中引用變數(指針)問題

因為$var2是$var1的引用,換句話說,這兩變數指向同一個地址。一個改變了,並一個變數也跟著改變了。

㈡ php 調用 其他文件變數

★ PHP變數是有作用域(指定的有效范圍)的:

  1. 函數內聲明的變數只對該函數有效,出了函數的范圍就會無效;

  2. 同理在函數以外聲明的變數在函數中訪問也是無效的;

  3. 函數內的變數跨函數訪問也是無效的。


★ 問題推測:

聽你上面說的情況,你的$username變數應該聲明在函數或者類里邊,然後從函數外訪問;或者聲明在函數外,但從函數中進行訪問了。


★ 解決方法:

函數中的變數要想讓其全局有效必須得在變數前面加global關鍵字聲明成全局變數才可以在函數以外訪問到;同理在函數外聲明的函數如果想要在函數中來訪問,也要使用global關鍵字來聲明為全局變數。


★關於php變數作用域的示範:

舉例有php文件b.php如下:

<?php

functionfunc1(){
global$a2;
$a1='vara1Infilebfunctionfunc1';
$a2='vara2Infilebfunctionfunc1';
}

?>


然後有php文件a.php如下:

<?php

error_reporting(0);//關閉錯誤報告
include('b.php');//引用b.php
$a3='vara3Infileaoutoffunction';
$a4='vara4Infileaoutoffunction';

functionfunc2(){
global$a5;
$a5='vara5Infileafunctionfunc2';
$a6='vara6Infileafunctionfunc2';
}

functionfunc3(){
echo'printvar$a1to$a6infunctionfunc3:<br>';
var_mp($a1);
var_mp($a2);
var_mp($a3);
var_mp($a4);
var_mp($a5);
var_mp($a6);
}

functionfunc4(){
echo'printvar$a1to$a6infunctionfunc4:<br>';
global$a1;
global$a2;
global$a3;
global$a4;
global$a5;
global$a6;
var_mp($a1);
var_mp($a2);
var_mp($a3);
var_mp($a4);
var_mp($a5);
var_mp($a6);
}

echo'printvar$a1$a2$a5$a6infilea:<br/>';
var_mp($a1);
var_mp($a2);
var_mp($a5);
var_mp($a6);
func3();
func4();

func1();
func2();

echo'printvar$a1$a2$a5$a6infilea(aftercallfunc1andfunc2):<br/>';
var_mp($a1);
var_mp($a2);
var_mp($a5);
var_mp($a6);
func3();
func4();

?>

執行a.php後就會輸出:

printvar$a1$a2$a5$a6infilea:<!--$a1$a2$a5$a6都被聲明在函數中,此時因為函數未被調用,所以都無法正確取值-->
null

null

null

null

printvar$a1to$a6infunctionfunc3:<!--$a1$a2$a5$a6同上,$a3和$a4因為在函數外聲明所以全部無法正確取值-->
null

null

null

null

null

null

printvar$a1to$a6infunctionfunc4:<!--$a1$a2$a3$a4同上,$a3和$a4用global聲明為全局了,所以可以正確取值-->
null

null

string'vara3Infileaoutoffunction'(length=32)

string'vara4Infileaoutoffunction'(length=32)

null

null

printvar$a1$a2$a5$a6infilea(aftercallfunc1andfunc2):<!--在執行func1和func2之後被關鍵字聲明為全局變數的$a2和$a5可以被正確取值-->
null

string'vara2Infilebfunctionfunc1'(length=31)

string'vara5Infileafunctionfunc2'(length=31)

null

printvar$a1to$a6infunctionfunc3:<!--因為所有變數不是聲明在函數func3外就是被聲明在其他函數中,所以都無法正確取值-->
null

null

null

null

null

null

printvar$a1to$a6infunctionfunc4:<!--除了在其它函數內未被聲明為全局的$a1和$a6,其他變數均被正確取值-->
null

string'vara2Infilebfunctionfunc1'(length=31)

string'vara3Infileaoutoffunction'(length=32)

string'vara4Infileaoutoffunction'(length=32)

string'vara5Infileafunctionfunc2'(length=31)

null


上面的代碼可以讓你很好的理解變數作用域的規則。


★ 資料參考

更多的變數作用域資料請參考http://www.php.net/manual/zh/language.variables.scope.php

㈢ php如何引用flash中的變數

Flash向PHP傳直:1、loadVariables('url',
target
[,
variables])url是發送數據的目的文件路徑,target是發送或接收數據的目標MC,variables是傳遞的方式(POST或GET)。如:loadvariables("send.php",
_root,
"POST")2、loadVariablesNum("url",
level
[,
variables])與loadvariable()類似,不同之處在於第二個參數,這里是指定發送或接收的級別。如:loadVariablesNum("send.php",
0,
"GET")

㈣ 在php變數中引用變數,然後再進行賦值的方法

<?php
$t=array(1,2,3);
$s=55;
for($i=0;$i<count($t);$i++){
$n="new".$t[$i];
$$n=$s;
}
echo$new1,"<br/>";
echo$new2,"<br/>";
echo$new3,"<br/>";

以上你直接拷貝運行,檢驗一下是不是你要的效果。

補充

$t=array("typeid"=>array(10,21,38),'view'=>10);
for($i=0;$i<count($t["typeid"]);$i++){
$n="view".$t["typeid"][$i];
$$n=$t['view'];
}
echo$view10,"<br/>";
echo$view21,"<br/>";
echo$view38,"<br/>";

你要的效果需要連續用兩個$。

㈤ php的class中怎樣引用外部的變數

把$a放在下面,

function name($string){

global $a;

}

$a="xxfaxy";

name("$a");

這樣就可以了。

㈥ PHP如何在一個類中引用另一個類中的變數.

可能你理解上有問題。不太明白你的意思,所以我分開解釋。如果是在定義的時候就引用,下面兩種。1.兩個都是類,即類的靜態變數(static修飾),一個類自然可以引用靜態變數,因為靜態變數是在程序進入main函數前就已經初始化完了。2.一個類A一個實例B(A類產生的對象),A當然無法在類的內部引用(即定義中),因為實例是在程序中動態分配的內存,類A必然先於實例B存在,所以A並不能知道B的存在。B可以引用類A的靜態變數,理由同1。如果是在運行時才引用。你只要在類A里寫一個函數,例如function(B b),這樣你要調用的時候通過這個函數做介面就行了,至於b你要做什麼,就是你的事了。

㈦ php中怎麼調用方法中的靜態變數

static
變數是php中的變數作用范圍的一個重要特性
靜態變數僅在局部函數域中存在且只被初始化一次,當程序執行離開此作用域時,其值不會消失,會使用上次執行的結果
一個普通的變數,如
$message
在它所在的函數執行完之後就被釋放了
即第二個function執行10次,每次執行完後,$message變數被釋放,所以每次都是1
變數前加了static後,該變數在它所在的函數執行完後不會被釋放
即第一個function每次被執行後,static
$message沒有被釋放,它將被繼續累加

㈧ 一個PHP文件想用另一個PHP文件里的變數怎麼辦

需要准備的材料分別是:電腦、php編輯器、瀏覽器。

1、首先,打開php編輯器,新建php文件,例如:index2.php,定義一個變數。

㈨ PHP為什麼一定要引用變數直接修改變數的值不就行了嗎

這個涉及到內存資源的問題,如果使用引用的話,$a和$b在內存中就是同一內存地址存儲,這樣可以減少內存的消耗。當然,從一個簡單的數字或許看不到什麼效果,但如果這個變數存儲的是上萬索引的數組或者對象,效果就很明顯了。不使用引用的話,$b就會一個$a的值存儲到內存中,就會多佔一部分內存……

熱點內容
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:847
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350
如何把迷你世界的伺服器搞崩 發布:2025-05-14 22:37:15 瀏覽:94
如何讓安卓卡死機 發布:2025-05-14 22:36:27 瀏覽:634
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:804
隆地優選交易密碼是什麼 發布:2025-05-14 21:53:23 瀏覽:96
強酸強鹼存儲櫃 發布:2025-05-14 21:45:16 瀏覽:565
車輛參數配置包括什麼 發布:2025-05-14 21:31:03 瀏覽:164
怎麼引入安卓項目 發布:2025-05-14 21:26:39 瀏覽:825
游戲輔編程 發布:2025-05-14 21:18:49 瀏覽:688