我在尝试构建变量名称时出现此问题 (应输出相应的数组元素。)
我首先设置变量用于测试目的,通常,piece变量将保存数组$ piece的第一个元素。
$wordnumber = 0;
$piece[0] = "forever";
我后来在我的问题发生之前回复它们,看看它们是否还可以。
echo "$piece[0]";
echo "$wordnumber";
输出正常。
forever0
但问题来了,因为我正在尝试创建一个自动处理每个数组元素的函数,所以我希望它每次构造下一个相应的变量。 然而,在施工后,某种程度上它没有价值。
$name = ${'piece[' . $wordnumber . ']'};
echo "$name";
什么都不输出......
我尝试了很多不同的格式,我真的不知道为什么我在这里如此努力。 该代码现在不是任何功能的一部分btw。
更新: $ name = $ piece [$ wordnumber]解决了这个问题 我很好奇为什么我之前的格式化没有按预期工作。
更新:André解决了问题,问题是$ piece [0]实际上并不是数组的一部分。所以$ piece是实际变量。存储实际数组$ piece = array(“Redish”,“Yellow”,“Green”);在开始和使用全球$ piece;在我的功能中,一切都像魅力一样开始。
答案 0 :(得分:1)
尝试$name = $piece[$wordnumber];
和echo $name
这将输出"forever"
答案 1 :(得分:1)
我没有测试过代码,但我认为你的第一种方法不起作用,因为你的变量的名字是“piece”,而不是“piece [0]”。换句话说,${'piece'}[0]
应该有效,但${'piece[0]'}
是错误的。尝试在脚本的最开头添加它,PHP应该向您显示一些抱怨:
error_reporting(E_ALL);
ini_set("display_errors", 1);