我只想将项目1到5添加到$records
(项目6用于其他用途)。下面的代码将添加所有六个项目。如何仅添加前五个?
$TheQuery="SELECT Item1, Item2, Item3, Item4, Item5, Item6 FROM MyTable";
$result = $link->query($TheQuery);
while ($row = $result->fetch_assoc()) {
$records[]=$row;
}
答案 0 :(得分:2)
如何使用array-slice:
while ($row = $result->fetch_assoc()) {
$records[] = array_slice($row, 0, 5);
}
您还可以使用array_filter
(doc):
$keys = array("Item1", "Item2", "Item3", "Item4", "Item5");
while ($row = $result->fetch_assoc()) {
$records[] = array_filter($row, function ($key) use ($keys ) {
return in_array($key, $keys); }, ARRAY_FILTER_USE_KEY);
}
答案 1 :(得分:0)
如果将来将来某个时候更改查询的顺序,最好使用列名而不是索引
您可以像这样使用array_map:
$ records [] = array_map(function($ r){return [$ r ['item1'],$ r ['item2'] ... Etc];},$ row);
然后,如果以后需要,您可以随时添加/更改列 (请原谅格式,我在手机上)