PHP5: herhangi bir uzunlukta bir yer verilen çok boyutlu bir diziye eklensin mi?

1 Cevap php

/ / Aşağıdaki dizisi verildiğinde:

$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()
      ),
    )
  )
);

// A new object can be added or existing one replaced given a position of any length // array(0), array(1,0), array(1,0,0), etc...

$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;
}

Sağlamasının yanında, PHP bunu yapmak için aklı başında bir yolu var mı $data."[0]["col"][0]["col"][1]["data"]"?

1 Cevap

O karışık dizinin daha iyi bir veri yapısı olmalıdır. 6 boyutları çoğu durumda çok fazla. Bazı tekrarlanan yapı orada var gibi görünüyor. Belki o yararlanmak olabilir? Deli bir dizi erişmek için bunu koymak gibi hiçbir "aklı başında" bir şekilde, var.