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

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

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

把$a放在下面,

function name($string){

global $a;

}

$a="xxfaxy";

name("$a");

這樣就可以了。

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

a.php類中的變數需申請public $a=''; 然後b.php中就要包含a文件並$a=new a();然後$a->$a;就是a中的變數了。

④ 在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中如何引用JavaScript變數

如果你現在不知道這個問題的答案,
最好就理解成 "在PHP中無法引用JavaScript變數"。

服務端開發瀏覽器端的前端開發是完全不一樣的東西,服務端給頁面傳遞數據可以是直接使用serverPage模板對象輸出字元串,但是想要從客戶端獲取數據則必須通過HTTP通信就是需要瀏覽器發送請求給額外的請求地址。

asp/jsp/php 這些東西只是使用了html代碼的樣子做伺服器的東西,對於絕大多數沒有基本的WEB開發理論的開發者來說,這個能讓他們快速開發網站,不過同時也喪失了從基礎學習的機遇和興趣。

如果你想要在WEB開發中走的更遠,建議你學習一些基礎:
計算機通信原理, socket編程, HTTP伺服器開發, 瀏覽器解析過程等這些東西

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

在類中定義一個方法,參數用 引用傳參
public function set(&$x){
//do something
}
//不建議這么做,類對外依賴嚴重,不符合面向對象的設計原則,

⑦ php如何通過變數的變數引用外部變數

完全可以在裡面用global 只不過要這樣 把$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 調用 其他文件變數

★ 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 中引用變數與普通變數之間有何區別如何通過引用傳值在什麼情況下會這樣做

$a=1;
$b=$a;
$a=2;
echo$b;//輸出1,$a和$b是兩個變數

$a=1;
$b=&$a;
$a=2;
echo$b;//輸出2,$a和$b實際上是一個變數,因為$b是$a的引用版

一般權會在函數中使用引用,代碼如下:

functiontest(&$a){
$a=$a+100;
}

$b=1;
echo$b;//輸出1
test($b);//這里$b傳遞給函數的其實是$b的變數內容所處的內存地址,通過在函數里改變$a的值就可以改變$b的值了
echo"&nbsp;";
echo$b;//輸出101