标题:echo "{${phpinfo()}}" 可以输出php环境信息,何故?
只看楼主
cnenc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:2913
专家分:514
注 册:2007-1-29
得分:0 
至少最外层的 {} 也是 "定界符" 的作用.
2010-06-08 14:11
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
回复 10楼 cnenc
var_dump("{${test()}}");  和 var_dump("");  返回的是没有区别的  都是 string(0) ""

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2010-06-08 14:16
cnenc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:2913
专家分:514
注 册:2007-1-29
得分:0 
嗯,你自己分析一下日志.
2010-06-08 22:19
一叶知秋
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-3
得分:0 
以下是引用cnenc在2010-6-8 10:21:21的发言:

还记得 下面代码吗?

<?php
$name = 'aaa';
$$name= 'bbb';

echo $bbb;   
?>

在PHP手册中就有.


<?php
$name = 'aaa';
$$name= 'bbb';//这里是定义了一个名为aaa的字符串变量,其值为'bbb',相当于$aaa='bbb';

echo $bbb;   //这里是不是有误,应为echoaaa;
?>
2010-06-10 22:47
cnenc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:2913
专家分:514
注 册:2007-1-29
得分:0 
以下是引用一叶知秋在2010-6-10 22:47:39的发言:

 
 
$name = 'aaa';
$$name= 'bbb';//这里是定义了一个名为aaa的字符串变量,其值为'bbb',相当于$aaa='bbb';
 
echo $bbb;   //这里是不是有误,应为echoaaa;
?>
确实应该是 echo $aaa;  笔误笔误.

楼上真细心.
2010-06-14 16:08
vastian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-5-3
得分:0 
回复 8楼 redice
复杂(花括号)语法
Note:
函数、方法、静态类变量和类常量只有在 PHP 5 以后才可在 {$} 中使用。然而,只有在该字符串被定义的命名空间中才可以将其值作为变量名来访问。只单一使用花括号 ({}) 无法处理从函数或方法的返回值或者类常量以及类静态变量的值。
http://

程序代码:
function test(){
    echo 'run';
}

var_dump("${test()}"); // 单一花括号 报错提示:only simple expressions are allowed

var_dump("{$test()}"); // 则会先识别test为变量名,$test()=>$test () 未定义的变量test

正确用法:
1:
$test='test';
var_dump("{$test()}");

2:
var_dump("{${test()}}");

2018-05-03 09:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-309547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.211220 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved