【发布时间】:2015-06-23 06:44:10
【问题描述】:
是否可以使用在数组中定义的键来创建多维数组?是的,根据一堆堆栈溢出的答案。这是一个:Dynamic array keys
function insert_using_keys($arr, array $path, $value) { // See linked answer }
$arr = create_multi_array($arr, array('a', 'b', 'c'), 'yay'));
print_r($arr);
打印
Array ( [a] => Array ( [b] => Array ( [c] => yay ) ) )
类属性也可以吗?
这是我的 Collection 类的准系统版本。方法set_at 应该像insert_using_keys 函数一样将一个多维数组添加到$data 属性。
class A {
protected $data = array();
public function set($key, $value) {
$this->data[$key] = $value;
}
public function set_at(array $keys, $value) {
}
}
我已尝试对insert_using_keys 进行多次修改,但均无济于事。我能够设置属性的键,但不能将值“分配给最后一个”。
请有人指出我正确的方向吗?提前致谢!
【问题讨论】:
-
“几乎可以工作”的示例代码在哪里?
-
@Stefan:代码没有“几乎可以工作”。我只能递归地设置键。如果您认为这对问题有帮助,我可以重新创建它。
标签: php arrays oop multidimensional-array