关于php的动态变量

nocturne1210 2009-08-13 06:49:37
我要定义一个二维数组,变量名是动态产生的,

$variable=$value;//生成变量名

$$variable=$word->getRegister($str);//得到的 $$variable 是一个n行2列的二维数组

比如输出的值是:
$variable="name"
$name[0][0]="field1"
$name[0][1]="<w:t>description=abcd</w:t>";//写到word文档里的

现在 ${$variable}[0][0] 可以写到word文档里,但轮到 ${$variable}[0][1] 就会报错,说有非法字符,不能生成word文档。但是如果我直接用$name[0][1]就可以,可是因为我的变量名是动态生成的,程序肯定不能这样写。

请问问题出来哪?鞠躬,谢谢



...全文
104 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sauce1210 2009-08-18
echo " <w:t><![CDATA[".${$variable}[0][1]."]]></w:t>";
让解析器忽略掉之间的文本。
回复
nocturne1210 2009-08-18
谢谢ls的。
回复
nocturne1210 2009-08-14
你给的这个链接的内容,不是我要的。

我大概知道问题所在,但我不知道怎么解决。好像是因为我<w:t> </w:t>里面含有变量。。。。。
回复
nocturne1210 2009-08-14
我现在遇到的问题是

如果我这样写,
$$variable[0][1]="description(0x)";
这样就可以通过 echo "<w:t>".$$variable[0][1]."</w:t>"; 写到word文档里。

但如果我这样写,
$str="description(0x)";
$$variable[0][1]=$str;
这样就可以通过 echo "<w:t>".$$variable[0][1]."</w:t>";就说我有非法字符

怎么回事啊?
回复
nocturne1210 2009-08-14
[Quote=引用 4 楼 liuzhenyudayu 的回复:]
$ + "name" == $name ???
你是这么认为的?这样行不通的。
不明白你要干什么。为什么要动态获得变量名呢?
你的目的是得到数组和数组里的数据吧?干嘛要跟变量较劲?自定义变量名无法实现嘛?
[/Quote]
不是$ + "name" , 是$ $ name,
取动态变量,是因为每次需要的数组个数是不定的没办法实现定义,只好动态定义了。
回复
cxd19880708 2009-08-14
你要动态变量名就得用foreach把其分离出来
一个一个的对应上就行了
回复
CunningBoy 2009-08-14
addcslashes($name[0][1]);
回复
liuzhenyudayu 2009-08-14
$ + "name" == $name ???
你是这么认为的?这样行不通的。
不明白你要干什么。为什么要动态获得变量名呢?
你的目的是得到数组和数组里的数据吧?干嘛要跟变量较劲?自定义变量名无法实现嘛?
回复
江南昆虫 2009-08-14
getRegister中需要对内容中某些字符转义?
回复
fenyao 2009-08-13
http://www.phpe.net/articles/80.shtml
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告