2012-06-21 6 views
0

아래의 코드는 티켓 번호를 계산하여 알파벳 문자를 기반으로 배열로 저장합니다. 예를 들어 티켓은 문자로 시작하고 X121211은 $ X에 저장됩니다. 그런 다음 배열이 비어 있지 않으면 표시합니다. 편지를 강조하고 싶습니다. 예를 들어 x가 컬러로 시작하고 나머지 알파벳이 다른 티켓으로 강조 표시됩니다. 매주마다 바뀔 수 있으므로 동적 인 방법이 있습니까? 나는 이것이 의미가 있기를 바랍니다.알파벳 글자

$returned = array(); 
$returned["A"] = array(); 
$returned["B"] = array(); 
$returned["C"] = array(); 
$returned["D"] = array(); 
$returned["E"] = array(); 
$returned["F"] = array(); 
$returned["G"] = array(); 
$returned["H"] = array(); 
$returned["I"] = array(); 
$returned["J"] = array(); 
$returned["K"] = array(); 
$returned["L"] = array(); 
$returned["M"] = array(); 
$returned["N"] = array(); 
$returned["O"] = array(); 
$returned["P"] = array(); 
$returned["Q"] = array(); 
$returned["R"] = array(); 
$returned["S"] = array(); 
$returned["T"] = array(); 
$returned["U"] = array(); 
$returned["V"] = array(); 
$returned["W"] = array(); 
$returned["X"] = array(); 
$returned["Y"] = array(); 
$returned["Z"] = array(); 

    foreach($skin as $x) { 
    // $content .= "<tr> 
    //  <td>" . $x[0] . "</td> 
    //  <td>" . $x[1] . "</td> 
    // </tr>"; 
     $bundletotal += $x[1]; 
    } 
    $bundle += $bundletotal; 



    foreach($skin as $x) { 
    if (strpos($x[0], "A") !== FALSE) { 
     $returned["A"][] = $x; 
    } 
if (strpos($x[0], "B") !== FALSE) { 
     $returned["B"][] = $x; 
    } 
    if (strpos($x[0], "C") !== FALSE) { 
     $returned["C"][] = $x; 
    } 
    if (strpos($x[0], "D") !== FALSE) { 
     $returned["D"][] = $x; 
    } 
    if (strpos($x[0], "E") !== FALSE) { 
     $returned["E"][] = $x; 
    } 
    if (strpos($x[0], "F") !== FALSE) { 
     $returned["F"][] = $x; 
    } 
    if (strpos($x[0], "G") !== FALSE) { 
     $returned["G"][] = $x; 
    } 
    if (strpos($x[0], "H") !== FALSE) { 
     $returned["H"][] = $x; 
    } 
    if (strpos($x[0], "I") !== FALSE) { 
     $returned["I"][] = $x; 
    } 
    if (strpos($x[0], "J") !== FALSE) { 
     $returned["J"][] = $x; 
    } 
    if (strpos($x[0], "K") !== FALSE) { 
     $returned["K"][] = $x; 
    } 
    if (strpos($x[0], "L") !== FALSE) { 
     $returned["L"][] = $x; 
    } 
    if (strpos($x[0], "M") !== FALSE) { 
     $returned["M"][] = $x; 
    } 
    if (strpos($x[0], "N") !== FALSE) { 
     $returned["N"][] = $x; 
    } 
    if (strpos($x[0], "O") !== FALSE) { 
     $returned["O"][] = $x; 
    } 
    if (strpos($x[0], "Q") !== FALSE) { 
     $returned["Q"][] = $x; 
    } 
    if (strpos($x[0], "R") !== FALSE) { 
     $returned["R"][] = $x; 
    } 
    if (strpos($x[0], "S") !== FALSE) { 
     $returned["S"][] = $x; 
    } 
    if (strpos($x[0], "T") !== FALSE) { 
     $returned["T"][] = $x; 
    } 
    if (strpos($x[0], "U") !== FALSE) { 
     $returned["U"][] = $x; 
    } 
    if (strpos($x[0], "V") !== FALSE) { 
     $returned["V"][] = $x; 
    } 
    if (strpos($x[0], "W") !== FALSE) { 
     $returned["W"][] = $x; 
    } 
    if (strpos($x[0], "X") !== FALSE) { 
     $returned["X"][] = $x; 
    } 
    if (strpos($x[0], "Y") !== FALSE) { 
     $returned["Y"][] = $x; 
    } 
    if (strpos($x[0], "Z") !== FALSE) { 
     $returned["Z"][] = $x; 
    } 

    } 


$A = count(array_unique($returned["A"], SORT_REGULAR)); 
$B = count(array_unique($returned["B"], SORT_REGULAR)); 
$C = count(array_unique($returned["C"], SORT_REGULAR)); 
$D = count(array_unique($returned["D"], SORT_REGULAR)); 
$E = count(array_unique($returned["E"], SORT_REGULAR)); 
$F = count(array_unique($returned["F"], SORT_REGULAR)); 
$G = count(array_unique($returned["G"], SORT_REGULAR)); 
$H = count(array_unique($returned["H"], SORT_REGULAR)); 
$I = count(array_unique($returned["I"], SORT_REGULAR)); 
$J = count(array_unique($returned["J"], SORT_REGULAR)); 
$K = count(array_unique($returned["K"], SORT_REGULAR)); 
$L = count(array_unique($returned["L"], SORT_REGULAR)); 
$M = count(array_unique($returned["M"], SORT_REGULAR)); 
$N = count(array_unique($returned["N"], SORT_REGULAR)); 
$O = count(array_unique($returned["O"], SORT_REGULAR)); 
$P = count(array_unique($returned["P"], SORT_REGULAR)); 
$Q = count(array_unique($returned["Q"], SORT_REGULAR)); 
$R = count(array_unique($returned["R"], SORT_REGULAR)); 
$S = count(array_unique($returned["S"], SORT_REGULAR)); 
$T = count(array_unique($returned["T"], SORT_REGULAR)); 
$U = count(array_unique($returned["U"], SORT_REGULAR)); 
$V = count(array_unique($returned["V"], SORT_REGULAR)); 
$W = count(array_unique($returned["W"], SORT_REGULAR)); 
$X = count(array_unique($returned["X"], SORT_REGULAR)); 
$Y = count(array_unique($returned["Y"], SORT_REGULAR)); 
$Z = count(array_unique($returned["Z"], SORT_REGULAR)); 


    $content .= " 
      <table border='5'> 
      <td width='50%' valign='top'> 
      <p><b>Monday</b></p> <p>"; 



    $total = 0; 


    if ($A>0) { 
     $content .= " A: $A "; 
     $total+= $A; 

    } 

    if ($B>0) { 
     $content .= " B: $B "; 
     $total+= $B; 
    } 

    if ($C>0) { 
     $content .= " C: $C "; 
     $total+= $C; 

    } 

    if ($D>0) { 
     $content .= " D: $D "; 
     $total+= $D; 

    } 

    if ($E>0) { 
     $content .= " E: $E "; 
     $total+= $E; 
    } 

    if ($F>0) { 
     $content .= " F: $F "; 
     $total+= $F; 

    } 

    if ($G>0) { 
     $content .= " G: $G "; 
     $total+= $G; 

    } 

    if ($H>0) { 
     $content .= " H: $H "; 
     $total+= $H; 

    } 

    if ($I>0) { 
     $content .= " I: $I "; 
     $total+= $I; 

    } 

    if ($J>0) { 
     $content .= " J: $J "; 
     $total+= $J; 

    } 

    if ($K>0) { 
     $content .= " K: $K "; 
     $total+= $K; 

    } 

    if ($M>0) { 
     $content .= " M: $M "; 
     $total+= $M; 

    } 

    if ($N>0) { 
     $content .= " N: $N "; 
     $total+= $N; 

    } 

    if ($O>0) { 
     $content .= " O: $O "; 
     $total+= $O; 

    } 

    if ($P>0) { 
     $content .= " P: $P "; 
     $total+= $P; 

    } 

    if ($Q>0) { 
     $content .= " Q: $Q "; 
     $total+= $Q; 

    } 

    if ($R>0) { 
     $content .= " R: $R "; 
     $total+= $R; 
    } 

    if ($S>0) { 
     $content .= " S: $S "; 
     $total+= $S; 

    } 

    if ($T>0) { 
     $content .= " T: $T "; 
     $total+= $T; 

    } 

    if ($U>0) { 
     $content .= " U: $U "; 
     $total+= $U; 

    } 

    if ($V>0) { 
     $content .= " V: $V "; 
     $total+= $V; 

    } 

    if ($W>0) { 
     $content .= " W: $W "; 
     $total+= $W; 

    } 

    if ($X>0) { 
     $content .= " X: $X "; 
     $total+= $X; 

    } 

    if ($Y>0) { 
     $content .= " Y: $Y "; 
     $total+= $Y; 


    } 

    if ($Z>0) { 
     $content .= " Z: $Z "; 
     $total+= $Z; 

    } 
+0

당신은 이것을 분명하고 구체적으로 표현할 수 있습니까? "몇 주 동안 특별한 티켓 번호가 있습니다. v와 q를 말할 수 있습니다. 색깔이 높은 v, 색상이 v, q가 한 색상, 나머지 색상이 한 색상으로 필요합니다." ? 도움을 주시면 도와 드리겠습니다. –

+0

"DRY"원칙 (직접 반복하지 마십시오)을 여기에 적용해야한다고 생각합니다. 이런 종류의 복사 & 붙여 넣기 코딩 체계는 위험하기 때문에 버그가 생기기 쉽습니다. 다차원 배열을 사용할 수있을 때 글자 당 배열을 사용하는 이유는 무엇입니까? –

+0

가시성을 위해서라면 jquery를 사용하여 색상을 추가하면 많은 서버 처리 시간을 절약 할 수 있습니다. –

답변

1

다음 코드는 위와 같이 똑같은 일을 할 것입니다 :

$returned = Array(); 
foreach(array_unique($skin) as $x) { 
    $returned[$x[0]] += 1; 
} 
$total = array_sum($returned); 
$content = ""; 
foreach($returned as $k=>$v) { 
    $content .= " ".$k.": ".$v." "; 
} 

그것은 코드보다 간단 많아서입니다.

이것이 원하는대로 수행되지 않으면 원하는 것을 정확하게 설명하십시오.