为什么这个PHP代码段不起作用?

为什么这个PHP代码段不起作用?,php,arrays,Php,Arrays,没有{}的正确版本是什么 我知道你可以用“{$arr['h'.$I]}” 编辑 1.1“内部” 2.具有类似“.”的操作,即,['h'.$i] 3.没有{} ?如果你不想要{},你需要这样做: $index = 'h' + $i; echo $arr[$index]; exit; 当然,你也可以这样做 $idx = "h$i"; echo "$arr[$idx]";exit(); 但我想也许你为了你的问题把事情简单化了 我也知道这个版本。我的意思是如何在没有{}的情况下进行操作?我在mede

没有{}的正确版本是什么

我知道你可以用“{$arr['h'.$I]}”

编辑

1.1“内部” 2.具有类似“.”的操作,即,['h'.$i] 3.没有{}


如果你不想要{},你需要这样做:

$index = 'h' + $i;
echo $arr[$index];
exit;
当然,你也可以这样做

$idx = "h$i";
echo "$arr[$idx]";exit();

但我想也许你为了你的问题把事情简单化了

我也知道这个版本。我的意思是如何在没有{}的情况下进行操作?我在meder的答案中没有看到一个“{”字,是吗?但是没有像“.”这样的操作。哪里没有像“.”这样的操作?你想要一个不使用“.”并且不使用{}的解决方案???然后看我的答案。你想在一行中完成这一切吗?我想要一匹小马。这是“太糟糕了,你不能得到你想要的东西”的缩写。重点是,我不会得到一匹小马,你也不能写回显“$array[pre$fix]”并让它工作。对于“但我想也许你为了你的问题把事情简化了。”我在等待“你想完成什么?”的回答。是的,没错。肖尔似乎只是对解析器不解析他认为应该解析的东西感到愤怒。哦,伙计们,我喜欢在里面做事情”“,直到最近我才知道,我可以在不使用{}的情况下访问数组值,但密钥不能是组合密钥?我问这个问题是为了确保或否认这一点。你已经证明了这一点。试着运行你的代码。会发生什么?一个解析错误,就是这样。这只是语言语法。你可以用你已经知道的几种方式做你想做的事情。据我所知,你的问题只是“为什么我不能这样做?”,答案是,根据php解析器,它的语法无效。
$idx = "h$i";
echo "$arr[$idx]";exit();
$i = 'i';
$arr = array('hi'=>'test');
echo $arr["h$i"]; exit();