2016-07-15 54 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