Smarty中的cache问题
Smarty中的cache在什么情况下用,在搜索引擎上用如何? 源程...
作者 iFei 发布于 2003-07-02 分类:php基础编程
下面这段代码是我的PHP书中,讲到“可变的变量”这部分。
[PHP]
/*1*/ <?php
/*2*/ $var_name = "variable";
/*3*/ $$var_name = "Cool, my name is variable!";
/*4*/ print($variable. "
");
/*5*/ $var_name = "it_changed";
/*6*/ print($$var_name);
/*7*/ ?>
[/PHP]
书中还有如下内容:
上述脚本在前两行中创建了两个变量。它给第一个变量分配了值“variable”;第二个变量的名称是$variable,而且它的值是串“Cool, my name is variable!”。本例中使用另一个变量所存储的值来创建这个动态命名的变量。当$var_name的值被改变时,该可变变量的名称变成$it_changed。
我调试代码时发现只能打印第4行的print语句,第6行的print语句却没有打印出任何内容。
我估计可能是印刷或是校对的问题。即然讲的是“可变的变量”我想这段代码最后的意途一定是想打印“it_changed”这个变量名的值,以表示可以使用动态的变量名。
所以我将第6行中的print语句改成了:
print($it_changed); //和
print($$it_changed);
但是都没有内容。
所以这个问题想请高手指教!
逛论坛交流:请教“可变变量”的问题!
注释掉第5行
这种运行结果应该是对地吧,你并没有给$it_changed赋值呀
是不是少了一句
$$var_name="324324234";
这是动态变量名的问题:用print($it_changed);
打印出:“Cool, my name is variable!";”这一句。
不懂,它是顺序执行的,他怎么把变量返回去呀?
对德呀,[打印出:“Cool, my name is variable!";”这一句。]是前一句print的结果,第二局print时空的,你当然看不见结果了
xinyuu:为什么第二个是空呀?
第3和6行的$$var_name 已經不同了﹐而且第6的$$var_name 你根本就沒有賦值﹐當然沒有輸出了
$var_name = "it_changed";后没给$$var_name负值,怎么能有输出
$variable 3 $$var_name
$it_changed 6 $$var_name
明白
10 条回复
回复