php引用变量
① 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变量是有作用域(指定的有效范围)的:
函数内声明的变量只对该函数有效,出了函数的范围就会无效;
同理在函数以外声明的变量在函数中访问也是无效的;
函数内的变量跨函数访问也是无效的。
★ 问题推测:
听你上面说的情况,你的$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" ";
echo$b;//输出101