2016-07-15 2 views
0

INFORMATION_SCHEMA에서 반환하는 열을 쿼리했습니다. 그런 다음 배열을 만들고 foreach 루프에서 배열을 사용하여 다른 배열을 만듭니다.PHP 배열이 올바른 열을 반환하지 않습니다.

내가 가진 문제는 최종 배열 열 SeqID0을 생산하는 위치 0에서 시작하지만, 첫 번째 열은 SeqID1입니다 :

Array ([0] => SeqID0 [1] => SeqID1 [2] => SeqID2 [3] => SeqID3 [4] => SeqID4 [5] => SeqID5 [6] => SeqID6 [7] => SeqID7 [8] => SeqID8 [9] => SeqID9 [10] => SeqID10 [11] => SeqID11 [12] => SeqID12 [13] => SeqID13 [14] => SeqID14 [15] => SeqID15 [16] => SeqID16 [17] => SeqID17 [18] => SeqID18 [19] => SeqID19 [20] => SeqID20 [21] => SeqID21 [22] => SeqID22 [23] => SeqID23 [24] => SeqID24 [25] => SeqID25 [26] => SeqID26 [27] => SeqID27 [28] => SeqID28 [29] => SeqID29 [30] => SeqID30 [31] => SeqID31 [32] => SeqID32 [33] => SeqID33 [34] => SeqID34 [35] => SeqID35 [36] => SeqID36 [37] => SeqID37 [38] => SeqID38 [39] => SeqID39 [40] => SeqID40 [41] => SeqID41 [42] => SeqID42 [43] => SeqID43 [44] => SeqID44 [45] => SeqID45 [46] => SeqID46) 

가 어떻게 배열 SeqID1에서 시작 할 수 있습니다.

이것은 내 코드입니다.

$strSQLCol = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
      WHERE TABLE_NAME= 'NXLHR_Active' AND COLUMN_NAME LIKE 'SeqID%'"; 

$rsCol = mysqli_query($link,$strSQLCol);           

$SeqList = array(); 

do { 
    $SeqList[] = $row; 
} while($row = $rsCol->fetch_assoc()); 

$SeqIDArray = array(); 
foreach($SeqList as $key => $value) { 
    $SeqIDArray[] = 'SeqID' . $key; 
} 

미리 감사드립니다.

답변

1

개선 된 코드입니다. 내가 foreach에 조건 추가 한주의 :

foreach($SeqList as $key => $value) { 
    if (1 > $key) { continue; } 
    $SeqIDArray[] = 'SeqID' . $key; 
} 
+0

안녕 @rokas, 일을했지만 무슨 이유에 대해 "foreach 문은"지난 열을 반환하지 않습니다 답장을 보내 주셔서 감사합니다. 배열 결과는 다음과 같습니다 : Array ([0] => SeqID1 => SeqID2 - SeqID45 => SeqID46까지 계속되지만 SeqID47이 누락되었습니다. "그리고 그 결과를 에코로 돌려 보내고 그 결과는 모두 SeqID47을 포함합니다. – DCJones

+0

안녕하세요, 모두 해결되었습니다. – DCJones

관련 문제