【问题标题】:I want to take a single value from one function and use it in another function - codeigniter/php/mysql我想从一个函数中获取一个值并在另一个函数中使用它 - codeigniter/php/mysql
【发布时间】:2011-10-11 15:13:50
【问题描述】:

我想从一个函数中的查询中获取一个值,并将其用于另一个函数中的乘法运算。

这里我有一个产生数字 3 的函数:

function insert() {
$siteid = 1;
$field = 3;
$time = "2011-10-11 15:04:56";
$this->db->select('Offset_value', 1)
     ->from('offset')
     ->where('siteid', $siteid)
     ->where('Offset_field', $field)
     ->where('time <', $time);
$query = $this->db->get()->result_array();

foreach ($query as $row) {
    echo $row['Offset_value'];
    }
return $query; 

}

目前这只是设置为显示数字 3,但我需要将该值存储在某种变量中并将其加载到此函数中:

function get_sap_estimate() {
    $kwp = 5;
    $direction = 34;
    $tilt = 60;
    $month = 4;
    $sap_shadingid = 2;

    $this->db->select('derating_factor')
         ->from('sap_shading')
         ->where('id', $sap_shadingid);
    $query = $this->db->get()->result_array();
    $query = $query[0];
    $dr = $query['derating_factor'];

    $this->db->select("kwh * $dr * $kwp AS kwhdata")
         ->from('expected_kwh')
         ->where('direction', $direction)
         ->where('tilt', $tilt)
         ->where('month', $month);
    $query2 = $this->db->get()->result_array();

    return $query2;

}

这可以做到吗?如何做到?

谢谢

【问题讨论】:

    标签: php mysql sql codeigniter


    【解决方案1】:
    function A(){
       return "value"; 
    }
    
    
    functionB(){
       var value = A(); // here is your array 
       var value_you_need = value[0]['Offset_value']; 
    }
    

    【讨论】:

    • 当我返回值时,我将生成“数组”作为结果而不是数字
    • 看看我的编辑,你可以从返回的数组中获取你需要的值。
    【解决方案2】:

    如果它们都在同一个类中(读取:模型文件)写入

    var $_var;
    

    在制定任何方法之前。然后在您的一种方法中输入

    $this->_var = $stuff;
    

    给这个变量一个值。然后使用那个值类型

    $new_stuff = $this->_var;
    

    如果他们不在同一个类中,您可以尝试在第二个方法中调用第一个方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 2012-10-28
      • 2011-09-19
      • 2014-01-22
      • 1970-01-01
      相关资源
      最近更新 更多