function get_var($query=null, $x = 0, $y = 0) {
$this->func_call = "\$db->get_var(\"$query\",$x,$y)";
if ( $query )
$this->query($query); // Extract var out of cached results based x,y vals
if ( $this->last_result[$y] ) {
$values = array_values(get_object_vars($this->last_result[$y]));
} // If there is a value return it else return null
return (isset($values[$x]) && $values[$x]!=='') ? $values[$x] : null;
}求救,上面这段代码什么意思?

解决方案 »

  1.   


    /*
    由于出现了 $db和$query 估计此为一个数据库类中的方法,
    返回结果:数据结果集中某一条记录的某一个字段的值
    $y表示取哪一条记录,默认是0,即第一条记录
    $x表示取第几个字段,默认是0,即第一个字段
    */
    //第1句:记录下正在执行的方法名称,以及它的3个参数值
     $this->func_call = "\$db->get_var(\"$query\",$x,$y)";
    //估计排错时用得上
    //第2句:如果查询不为空的话,那么就执行这个查询
     if ( $query )
            $this->query($query);
    //结合后面一句,
    //执行的结果可能保存在数组 $this->last_result里
    //$this->last_result数组中每个值应该都是对象
    //第3句:考虑下标为$y的对象
     if ( $this->last_result[$y] ) {
    //将该对象转为以数字为下标的数组,  
           $values = array_values(get_object_vars($this->last_result[$y]));
     }
    //get_object_vars 返回由对象属性组成的关联数组
    //array_values -- 返回数组中所有的值 //第4句:
    //由于此时$values为一个以数字做下标的数组,
    //如果下标$x在$values中存在,则返回$value[$x]
    //否则返回NULL
    return (isset($values[$x]) && $values[$x]!=='') ? $values[$x] : null;