我想使用动态创建的数组的第一个值,但我得到了数组名称的第一个字母。
$log = "dets_".$id;
$$log = array();
while ($c = mysql_fetch_assoc($cuenta)) { array_push($$log,$c['id'].'::'.$c['fecha']); }
当我打印$$ log时,我得到这样的东西:
Array ( [0] => 124::2017-04-07 [1] => 119::2017-04-07 [2] => 118::2017-04-05 )
但是当我尝试访问第一个键时:
echo $$log[0];
我得到" $ d"而不是" 124 :: 2017-04-07"。我也尝试了$ log [0]并获得了#34; d"。 谢谢。
答案 0 :(得分:0)
您可以通过一些棘手的表达来访问第一个元素:
var_dump (${${'log'}}[0]);
http://php.net/manual/en/language.variables.variable.php
获取的一些解释为了将变量变量与数组一起使用,您必须解析一个 歧义问题。也就是说,如果您编写
$$a[1]
,则解析器需要 了解您是否打算将$a[1]
用作变量,或者是否需要$$a
作为变量,然后是该变量的[1]
索引。语法 解决这种歧义的方法是:${$a[1]}
用于第一种情况和${$a}[1]
为第二个。