문제

// 다음 배열이 제공 :

$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) 등의 위치가 주어지면 새 개체를 추가하거나 기존 객체를 교체 할 수 있습니다.

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

PHP에서 만들 수있는 제정신 방법이 있습니까? $data."[0]["col"][0]["col"][1]["data"]" ?

도움이 되었습니까?

해결책

얽힌 배열보다 더 나은 데이터 구조가 있어야합니다. 대부분의 경우 6 차원이 너무 많습니다. 거기에 약간의 반복 구조가있는 것 같습니다. 아마도 당신은 그것을 활용할 수 있습니까? 당신이 말한 것처럼 "Sane"방법은 미친 배열에 접근 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top