请问一下:
假如现在有数组:
$aa=array();
$aa[1]="aa";
$aa[9]="bb";我要得到最后一个单元的下标值,也就是9  数组是动态产生的,有几个或有哪几个不清楚,其它的有没值或其值是什么类型也不能确定.只能确定有这么一个名为$aa的数组。

解决方案 »

  1.   

    <?php
    $aa=array();$aa[1]="aa";
    $aa[9]="bb"; 
    echo getLastKey($aa)."<br/>\n";$aa[29]="cc"; 
    $aa[18]="dd"; 
    echo getLastKey($aa)."<br/>\n";unset($aa[29]); 
    echo getLastKey($aa)."<br/>\n";function getLastKey($sourceArray) {
    $keys = array_keys($sourceArray);
    sort($keys);
    return array_pop($keys);
    }
    ?>
      

  2.   

    function getLastKey(&$sourceArray) {
    ksort($sourceArray);
    return end(array_keys($sourceArray));
    }
      

  3.   

    $aa=array();
    $aa[1]="aa";
    $aa[9]="bb"; 
    $aa[109]="bb"; echo max(array_flip($aa));
      

  4.   

    $aa=array();$aa[1]="aa";
    $aa[109]="bb"; 
    $aa[9]="bb"; echo max(array_flip($aa)); // 9
    echo max(array_keys($aa)); // 109不过应该用 array_keys , array_flip 相同内容会出错