1차 분류가 여러 개 있고, 2차 분류가 불확실하고, 2차 분류 아래에 3차 분류가 불확실한데, 관련 데이터 조합을 얻어서 데이터베이스에 쓰고 싶은데. 이 형식을 어떻게 배열해야 올바른 조합을 얻을 수 있는지 모르겠습니다.
시간이 되시면 살펴보시고 도움을 주시기 바랍니다.
열 전체의 값을 구한 후 길이에 따라 2열, 3열을 구분하는 방법이 있나요
지금 얻은 데이터 형식은 행별로 1 2 3 입니다. . .
위 사진
<code>array (size=16) 0 => array (size=7) 0 => float 1 1 => string '销售部' (length=9) 2 => string '销售1区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 1 => array (size=7) 0 => float 2 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 2 => array (size=7) 0 => float 3 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 3 => array (size=7) 0 => float 4 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 4 => array (size=7) 0 => float 5 1 => null 2 => string '销售2区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 5 => array (size=7) 0 => float 6 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 6 => array (size=7) 0 => float 7 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 7 => array (size=7) 0 => float 8 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 8 => array (size=7) 0 => float 9 1 => string '市场部' (length=9) 2 => string '市场1区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 9 => array (size=7) 0 => float 10 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 10 => array (size=7) 0 => float 11 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 11 => array (size=7) 0 => float 12 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null 12 => array (size=7) 0 => float 13 1 => null 2 => string '市场2区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 13 => array (size=7) 0 => float 14 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 14 => array (size=7) 0 => float 15 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 15 => array (size=7) 0 => float 16 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null</code>
1차 분류가 여러 개 있고, 2차 분류가 불확실하고, 2차 분류 아래에 3차 분류가 불확실한데, 관련 데이터 조합을 얻어서 데이터베이스에 쓰고 싶은데. 이 형식을 어떻게 배열해야 올바른 조합을 얻을 수 있는지 모르겠습니다.
시간이 되시면 살펴보시고 도움을 주시기 바랍니다.
열 전체의 값을 구한 후 길이에 따라 2열, 3열을 구분하는 방법이 있나요
지금 얻은 데이터 형식은 행별로 1 2 3 입니다. . .
위 사진
<code>array (size=16) 0 => array (size=7) 0 => float 1 1 => string '销售部' (length=9) 2 => string '销售1区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 1 => array (size=7) 0 => float 2 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 2 => array (size=7) 0 => float 3 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 3 => array (size=7) 0 => float 4 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 4 => array (size=7) 0 => float 5 1 => null 2 => string '销售2区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 5 => array (size=7) 0 => float 6 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 6 => array (size=7) 0 => float 7 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 7 => array (size=7) 0 => float 8 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 8 => array (size=7) 0 => float 9 1 => string '市场部' (length=9) 2 => string '市场1区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 9 => array (size=7) 0 => float 10 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 10 => array (size=7) 0 => float 11 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 11 => array (size=7) 0 => float 12 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null 12 => array (size=7) 0 => float 13 1 => null 2 => string '市场2区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 13 => array (size=7) 0 => float 14 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 14 => array (size=7) 0 => float 15 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 15 => array (size=7) 0 => float 16 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null</code>
Excel의 데이터를 2차원 배열로 읽는 방법을 제가 가르쳐줄 필요는 없습니다. 바로 코드로 넘어가겠습니다.
<code><?php $lines = [ ['销售部', '销售1区', '销售1科室'], ['', '', '销售2科室'], ['', '', '销售3科室'], ['', '', '销售4科室'], ['', '销售2区', '销售1科室'], ['', '', '销售2科室'], ['', '', '销售3科室'], ['', '', '销售4科室'], ['市场部', '市场1区', '市场1科室'], ['', '', '市场2科室'], ['', '', '市场3科室'], ['', '', '市场4科室'], ['', '市场2区', '市场1科室'], ['', '', '市场2科室'], ['', '', '市场3科室'], ['', '', '市场4科室'], ]; $formatedData = []; foreach ($lines as $line) { if (!empty($line[0])) { $level1 = $line[0]; $formatedData[$level1] = []; } if (!empty($line[1])) { $level2 = $line[1]; $formatedData[$level1][$level2] = []; } if (!empty($line[2])) { $level3 = $line[2]; $formatedData[$level1][$level2][] = $level3; } } print_r($formatedData);</code>
프로그램 실행 결과는 다음과 같습니다.
배열
(
<code>[销售部] => Array ( [销售1区] => Array ( [0] => 销售1科室 [1] => 销售2科室 [2] => 销售3科室 [3] => 销售4科室 ) [销售2区] => Array ( [0] => 销售1科室 [1] => 销售2科室 [2] => 销售3科室 [3] => 销售4科室 ) ) [市场部] => Array ( [市场1区] => Array ( [0] => 市场1科室 [1] => 市场2科室 [2] => 市场3科室 [3] => 市场4科室 ) [市场2区] => Array ( [0] => 市场1科室 [1] => 市场2科室 [2] => 市场3科室 [3] => 市场4科室 ) ) </code>
)
내 방법은 분류 열에서 시작하여 cat1, cat2, cat3을 표시한 다음 백그라운드에서 for 루프를 사용합니다.
채택된 방법에 따라 원하는 형식으로 데이터를 얻는 것이 맞지만, 작업 중 일부 데이터를 판단하는 것이 더 번거롭거나 판단이 불가능할 수 있습니다. -수준 분류는 상위 항목이 존재하는지 여부를 판단하는 데 사용됩니다. 작동하지 않으면 하위 집합인지 여부만 판단하고 새 항목을 추가할 수 있습니다. 전반적으로 이 요구 사항의 형식은 여전히 필요하다고 생각합니다. 내부 사용 요건이 그리 엄격하지 않아서 이 형식을 사용하지 못할 수도 있습니다.