在下面的代码中,有没有办法从 中获取相同数组的数组名称,因此不必多次输入?
$awesome_array = array(
'fruit'=>'apple',
'name'=>'awesome_array', // Name of array here
'you_are_an'=>'awesome_array' // Name goes here too
);
就是这样。
答案 0 :(得分:3)
不可能直接。但是,您可以通过在定义数组之前定义名称来实现此行为。
以下是3种方法。可以有更多。但我现在不能回想起任何其他方式。
$array_name = 'awesome_array';
$$array_name = array(
'fruit'=>'apple',
'name'=>$array_name, // Name of array here
'you_are_an'=>$array_name // Name goes here too
);
$awesome_array = array('fruit'=>'apple');
$awesome_array['name'] = 'awesome_array';
$awesome_array['you_are_an'] = 'awesome_array';
$awesome_array = array('fruit'=>'apple');
// dynamically extracting the name of last defined variable
list($name) = array_slice(array_keys(get_defined_vars()), -1 , 1);
$awesome_array['name'] = $name;
$awesome_array['you_are_an'] = $name;
答案 1 :(得分:0)
$array_name = "awesome_array";
$$array_name = array(
'fruit'=>'apple',
'name'=> $array_name // Name of array here
'you_are_an'=>$array_name // Name goes here too
}
答案 2 :(得分:0)
我不确定我是否理解了这个问题,但您可以使用变量:
$var = 'awesome_array';
$$var = array(
'fruit'=>'apple',
'name'=>$var, // Name of array here
'you_are_an'=>$var // Name goes here too
);