2016-07-15 34 views
0

我有一個查詢來自INFORMATION_SCHEMA的返回列。 然後我創建一個數組,在foreach循環中使用該數組來創建另一個數組。PHP Array未返回正確的列

我的問題是,最終陣列開始在位置0,生產塔SeqID0但第一列是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任何想法爲什麼會這樣。 「並回顯INFORMATION_SCHEMA其返回的結果,包括SeqID47。 – DCJones

+0

嗨,所有解決。非常感謝 – DCJones