0

我有一个返回多个数组的查询,其中每个数组有 2 个位置(0 和 1)。如何将此结果合并到一个数组中,我不想要第一个位置 (0),只想要第二个位置?

//execute the SQL query and return records
$result = mssql_query($query);
$numRows = mssql_num_rows($result); 

//display the results 
for ($i=0;$i<numRows ;$i++) {

$row = mssql_fetch_assoc($result);
echo "<pre>";print_r($row); echo "</pre>";
}
4

3 回答 3

1
$result = mssql_query($query);
$data = array();
while ($row = mssql_fetch_assoc($result))
{
    $data[] = $row;
}
var_dump($data);

仅获取第二个值会将$data =行更改为$data[] = $row[1];

您可能想mssql_fetch_object改用,或者如果您正在使用mssql_fetch_assoc,则最好使用关联索引而不是数字索引。如果您使用$row->FieldNameor$row["FieldName"]而不是$row[1].

于 2013-08-20T13:14:03.417 回答
0

当您解决问题时,我建议切换到 mysqli_fetch_assoc(),因为 mysql 函数现在已被弃用。

http://php.net/manual/en/function.mysql-fetch-assoc.php

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php

于 2013-08-20T13:12:01.667 回答
0

如果您不想要第一个值,则不需要合并。我会像这样创建第二个数组:

while($rows = mssql_fetch_array($result))
{
   newArr[] = $rows[1] ;
}

那应该只用当前数组的第二个值填充 newArr 数组。

于 2013-08-20T13:15:40.573 回答