2013-11-01 2 views
0

enter image description here변경 엑셀 데이터

어떻게

Array [Test's Restaurant] => Array 
(
    [Appetizer] => Array 
     (
      [Salsa & Chips] => Array 
       (
        [Radio] => Array 
         (
          [0] => Coke 
          [1] => Sprite 
          [2] => Diet Coke 
          [3] => Diet Sprite 
         ) 

        [Checkbox] => Array 
         (
          [0] => Chocolate Cake 
          [1] => Vanilla Cake 
         ) 

       ) 

      [Salad] => Array 
       (
        [Radio] => Array 
         (
          [0] => Italian 
          [2] => French 
          [3] => Ranch 
         ) 

       ) 

     ) 

    [Lunch Menu] => Array 
     (
      [Burrito] => Array 
       (
        [Radio] => Array 
         (
          [0] => Roll 
          [1] => Steak 
          [3] => Chicken 
         ) 

        [Checkbox] => Array 
         (
          [0] => Coke 
          [1] => Sprite 
          [3] => Diet Coke 
         ) 

       ) 
) 

) 
+0

시도해 보셨나요? 아직? – Sirko

+0

[PHPExcel] (http://phpexcel.codeplex.com)과 같은 라이브러리를 사용하여 Excel 파일을 읽고 toArray() 라이브러리를 사용하십시오. 그 배열을 조작하여 필요한 정확한 구조를 얻을 수 있습니다. –

답변

0
내가 시도 코드는 아직

//이 메인 제공

이 엑셀 배열 형식 다음으로 파일을 변환 할 수 있습니다 phpExcel 라이브러리에 의해 반환되는 배열

$mdar = phpexcel_import($path); 
arrange_array($mdar[0]); 

function arrange_array($mdar){ 

    $mainarr = array(); 
    $arr = array(); 
    $j = count($mdar); 

    for($a = 0 ; $a <=$j ; $a++){ 
     if(!empty($mdar[$a]['Menu Category'])) 
     { 
      $b = next_point($mdar,$a,$j); 
      $mainarr[$mdar[$a]['Menu Category']] = arrange_array2($mdar,$a,($b-1)); 
      $arr = $mainarr; 
     } 

    } 

} 

function next_point($mdar,$last,$j){ 
    //echo 'next_point $mdar '.$mdar.'next_point $last '.$last.' next_point $j '.$j .'<br>'; 
    for($a = $last ; $a <=$j ; $a++){ 
     if(!empty($mdar[$a]['Menu Category'])) 
     { 
      $arr[] = $a; 
     } 
    } 
    return $arr[1]; 
} 

function arrange_array2($mdar,$sp,$lp){ 

    $arr = array(); 
    for($a = $sp ; $a <=$lp ; $a++){ 
     if(!empty($mdar[$a]['Menu Item'])) 
     { 
      $b = next_point2($mdar,$a,$lp); 
      $mainarr[$mdar[$a]['Menu Item']] = arrange_array3($mdar,$a,$b); 
      $arr = $mainarr; 
     } 
    } 
    return $arr; 
} 

function next_point2($mdar,$last,$j){ 
    // echo 'next_point2 $mdar '.$mdar.' next_point2 $last '.$last.' next_point2 $j '.$j .'<br>'; 
    for($a = $last ; $a <=$j ; $a++){ 
     if(!empty($mdar[$a]['Menu Item'])){ 
      $arr[] = $a; 
     } 
    } 
    echo "next point 2 "; 
    print_r($arr); 

    return ($arr[1])?$arr[1]-1:$arr[0]; 
} 

function arrange_array3($mdar,$sp,$lp){ 
    //echo 'next_point2 $mdar '.$mdar.' next_point2 $sp '.$sp.' next_point2 $j '.$lp .'<br>'; 
    $arr = array(); 
    for($a = $sp ; $a <=$lp ; $a++){ 
     if(!empty($mdar[$a]['Menu Item option type'])) 
     { 
      $b = next_point3($mdar,$a,$lp); 
      $mainarr[$mdar[$a]['Menu Item option type']] = arrange_array4($mdar,$a,$b); 
      $arr = $mainarr; 
     } 
    } 

    return $arr; 
} 

function next_point3($mdar,$last,$j){ 
    // echo 'next_point2 $mdar '.$mdar.' next_point2 $last '.$last.' next_point2 $j '.$j .'<br>'; 
    for($a = $last ; $a <=$j ; $a++){ 
     if(!empty($mdar[$a]['Menu Item option type'])) 
     { 
      $arr[] = $a; 
     } 
    } 
    return ($arr[1])?$arr[1]-1:$arr[0]; 
} 
function arrange_array4($mdar,$sp,$lp){ 

    for($a = $sp ; $a <=$lp ; $a++){ 
     if(!empty($mdar[$a]['Menu Option Values'])) 
     { 
      $arr[] = $mdar[$a]['Menu Option Values']; 
     } 
    } 

    return $arr; 

}