Return 使用 PHP SQLSRV 结果集中的特定行

Return specific row from a result set using PHP SQLSRV

我有一个存储过程,其中 return 具有以下格式的两列数据,将用于一系列图表;

Minutes, [6,15,44,12,15,14,9,5,4,11]
Hours, [41,5,28,7,5,4,19,8,25,6]
Weeks, [1,1,1,1,2,1,2,3,1,1]

我可以 return 在屏幕上使用以上所有这些值;

$result = sqlsrv_query($conn2, $sql, $params) or die( print_r( sqlsrv_errors(), true)) ;

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC) ) {
  echo $row[0].", ".$row[1]."<br />";
}   

我可以使用以下方法将分钟、小时和周设置为变量;

$row = sqlsrv_fetch($result, SQLSRV_SCROLL_FIRST);  
$v1 = sqlsrv_get_field( $result, 0);  
$row = sqlsrv_fetch($result, SQLSRV_SCROLL_NEXT);  
$v2 = sqlsrv_get_field( $result, 0);
$row = sqlsrv_fetch($result, SQLSRV_SCROLL_NEXT);  
$v3 = sqlsrv_get_field( $result, 0);  

如何将第二列中的数组转换为变量?

我在上面的评论中回答了我的问题!卫生署!

它是一个数组,不是字符串所以使用原始代码,我只需要将其更改为;

$row = sqlsrv_fetch($result, SQLSRV_SCROLL_FIRST);  
$v1 = sqlsrv_get_field( $result, 0);
$v2 = sqlsrv_fetch_array( $result, 1);  
$row = sqlsrv_fetch($result, SQLSRV_SCROLL_NEXT);  
$v3 = sqlsrv_get_field( $result, 0);
$v4 = sqlsrv_fetch_array( $result, 1);  
$row = sqlsrv_fetch($result, SQLSRV_SCROLL_NEXT);  
$v5 = sqlsrv_get_field( $result, 0);
$v6 = sqlsrv_fetch_array( $result, 1);  

最终版本在while循环中自动递增变量名;

$i=0;    
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_NUMERIC) ) {
  ${'name'.$i} = $row[0]."<br />";     
  ${'value'.$i} = $row[1]."<br />";
  $i++;
}

$name1、$value1、$name2、$value2 等等,直到循环结束。