Php 类属性的动态多维数组键
是否可以使用数组中定义的键创建多维数组?是的,根据一堆堆栈溢出的答案,它是。这里有一个: 印刷品Php 类属性的动态多维数组键,php,arrays,oop,multidimensional-array,Php,Arrays,Oop,Multidimensional Array,是否可以使用数组中定义的键创建多维数组?是的,根据一堆堆栈溢出的答案,它是。这里有一个: 印刷品 Array ( [a] => Array ( [b] => Array ( [c] => yay ) ) ) 对于类属性也可以这样做吗 这是我的收藏课的一个赤裸裸的版本。方法set\u at应向$data属性添加多维数组,方法与使用_键插入函数的方法相同 class A { protected $data = array(); public function
Array ( [a] => Array ( [b] => Array ( [c] => yay ) ) )
对于类属性也可以这样做吗
这是我的收藏课的一个赤裸裸的版本。方法set\u at
应向$data
属性添加多维数组,方法与使用_键插入
函数的方法相同
class A {
protected $data = array();
public function set($key, $value) {
$this->data[$key] = $value;
}
public function set_at(array $keys, $value) {
}
}
我尝试过使用_键对插入_进行几次修改,但均无效。我可以设置属性的键,但不能为“最后一个”赋值
请有人给我指一下正确的方向好吗?提前谢谢 在重新创建“密钥设置器”功能的过程中,我能够回答我自己的问题(Stefan,这是你一直以来的意图吗?) 代码如下:
public function set_at(array $keys, $value) {
$first_key = array_shift($keys);
foreach (array_reverse($keys) as $key) {
$value = array($key => $value);
}
$this->data[$first_key] = $value;
}
你的“几乎成功”的示例代码在哪里?@Stefan:代码没有“几乎成功”。我只是能够递归地设置关键点。如果你认为这有助于回答这个问题,我可以重新创建它。
public function set_at(array $keys, $value) {
$first_key = array_shift($keys);
foreach (array_reverse($keys) as $key) {
$value = array($key => $value);
}
$this->data[$first_key] = $value;
}