Php 为什么$$var[';namedIndex';]=';测试';不起作用?
在PHP中,您可以Php 为什么$$var[';namedIndex';]=';测试';不起作用?,php,Php,在PHP中,您可以 $var = 'title'; $$var = 'my new title'; 而且效果很好。但当您尝试将它与数组一起使用时,它不起作用,并且不会报告任何错误 $var = 'title'; $$var['en'] = 'my english title'; $var = 'description'; $$var['en'] = 'my english description'; 谢谢你的帮助 [编辑] 如果我这样做 它工作并且输出 title[0] = 'test'
$var = 'title';
$$var = 'my new title';
而且效果很好。但当您尝试将它与数组一起使用时,它不起作用,并且不会报告任何错误
$var = 'title';
$$var['en'] = 'my english title';
$var = 'description';
$$var['en'] = 'my english description';
谢谢你的帮助
[编辑]
如果我这样做
它工作并且输出
title[0] = 'test';
但我真的需要命名索引://p>这样写:
${$var}['en']
从文档中:
为了使用可变变量
对于数组,您必须解析
歧义问题。也就是说,如果你
写入$$a,然后解析器需要
知道你是不是想用$a作为
变量,或者如果希望$$a作为
变量,然后从
这个变量。的语法
解决此歧义的方法是:${$a}
对于第一个案例,${$a}对于
第二个
您真正想要的是:
${$var}['en']
正如手册中所述,问题在于含糊不清。编写
$$var['en']
时,它会首先尝试查找$var['en']
的值,然后查找具有该索引值名称的变量。${$var}['en']
中的大括号表示希望先展开$var
。wow。。。谢谢我查阅了手册,但没有找到这一页。再次感谢!
${$var}['en']