PHP5:在给定任意长度位置的多维数组中添加内容?
//给定以下数组:PHP5:在给定任意长度位置的多维数组中添加内容?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,//给定以下数组: $data = array( 0=>array( "data"=>"object1", "col"=>array( 0=>array( "data"=>"object2", "col"=>array( 0=>array( "data"=>"object3", ), 1=>ar
$data = array(
0=>array(
"data"=>"object1",
"col"=>array(
0=>array(
"data"=>"object2",
"col"=>array(
0=>array(
"data"=>"object3",
),
1=>array(
"data"=>"object4",
),
)
),
1=>array(
"data"=>"object5",
"col"=>array()
),
)
)
);
//给定任意长度的位置,可以添加新对象或替换现有对象
//数组(0)、数组(1,0)、数组(1,0,0)等
在PHP中,除了创建
$data之外,还有没有一种明智的方法可以做到这一点。“[0][“col”][0][“col”][1][“data”]”
?必须有一种比纠结的数组更好的数据结构。6维在大多数情况下太多。这里面似乎有一些重复的结构。也许你可以利用这一点?正如您所说,没有“理智”的方法来访问一个疯狂的数组。一定有比那个混乱的数组更好的数据结构。6维在大多数情况下太多。这里面似乎有一些重复的结构。也许你可以利用这一点?正如你所说,没有“理智”的方法来访问一个疯狂的阵列
$data = add($data, array(0,0,1), "new_object");
function add($data, $position, $object) {
// this has to be produced based the location:
$data[0]["col"][0]["col"][1]["data"] = "new_object";
return $data;
}