返回父数组中的PHP数组变量名?

返回父数组中的PHP数组变量名?,php,arrays,variables,Php,Arrays,Variables,我在PHP中有一个数组数组,我想访问容器数组中每个数组的变量名(作为字符串) 拥有: 需要: 我正在尝试运行foreach循环来输出每个数组的名称,其函数如下(建议在PHP手册中使用): 但可以理解,该函数只输出:anArray(x3) 我需要输出:array1 array2 array3 有什么建议吗?将原始数组设置为关联数组: $container = array( 'array1' => $array1, 'array2' => $array2, 'array3'

我在PHP中有一个数组数组,我想访问容器数组中每个数组的变量名(作为字符串)

拥有:

需要:

我正在尝试运行foreach循环来输出每个数组的名称,其函数如下(建议在PHP手册中使用):

但可以理解,该函数只输出:anArray(x3)

我需要输出:array1 array2 array3


有什么建议吗?

将原始数组设置为关联数组:

$container = array(
  'array1' => $array1,
  'array2' => $array2,
  'array3' => $array3
);
然后打印出钥匙:

foreach($container as $name => $anArray){
  echo $name; //output: array1 array2 array3
}
我需要输出:array1 array2 array3


无法在运行时获取变量的名称。不要浪费时间。

无法从使用
数组($array1,$array2,$array3)创建的数组中检索“名称”
array1
array2
array3
。那些变量名不见了

您可以将数组键设置为名称:
array('array1'=>$array1,'array2'=>$array2,'array3'=>$array3)


这方面的快捷方式是
compact('array1','array2','array3')

$vname=$key;每次都被覆盖
function vname(&$var, $scope=false, $prefix='unique', $suffix='value') {
    if($scope) $vals = $scope;
    else      $vals = $GLOBALS;
    $old = $var;
    $var = $new = $prefix.rand().$suffix;
    $vname = FALSE;
    foreach($vals as $key => $val) {
        if($val === $new) $vname = $key;
    }
    $var = $old;
    return $vname;
}
$container = array(
  'array1' => $array1,
  'array2' => $array2,
  'array3' => $array3
);
foreach($container as $name => $anArray){
  echo $name; //output: array1 array2 array3
}