<?php
$test = array();
$test[0]["RenJunJiFen"] = 20;
$test[0]["DanWeiDaiMa"] = 20;
$test[1]["RenJunJiFen"] = 21;
$test[1]["DanWeiDaiMa"] = 21;
print_r($test);
?>
结果
Array ( [0] => Array ( [RenJunJiFen] => 20 [DanWeiDaiMa] => 20 ) [1] => Array ( [RenJunJiFen] => 21 [DanWeiDaiMa] => 21 ) ) 
这是对的。而
while($tmp=mssql_fetch_array($result))
{
    $allrows[$pt] = $tmp;
    print_r($allrows[$pt]);
    print_r($tmp);
}这时,两个打印出来的都是
Array ( [0] => 消防 [DanWeiMingCheng] => 消防 [1] => 3 [DanWeiDaiMa] => 3 )
请问,为什么会有[0]和[DanWeiMingCheng]两种键呢?期望是只有后者
而使用排序函数时,
function arrCompare($ar1,   $ar2)//二维数组排序,降序
{   
if($ar1["DanWeiDaiMa"] < $ar2["DanWeiDaiMa"])//人均积分位于第15个元素
{
return 1;
}
else if($ar1["DanWeiDaiMa"] > $ar2["DanWeiDaiMa"])   
{
return -1;
}
else
{
return 0;
}
}
把$ar1["DanWeiDaiMa"]等换成$ar1[1](或者$ar1[0]等)就不行,这是怎么回事?新手启航,谢谢关注

解决方案 »

  1.   

    手动赋值时没有问题($allrows[$ptr]["abc"] = "mm")
    但是mssql_fetch_array就有问题了
      

  2.   

    在mssql里查询的也只是有DanWeiMingCheng,DanWeiDaiMa列而没有0,1等列
      

  3.   

    摘自手册
    Description
    array mssql_fetch_array ( resource $result [, int $result_type= MSSQL_BOTH ] )
    mssql_fetch_array() is an extended version of mssql_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.