【问题标题】:How to get the value in this object?如何获取此对象中的值?
【发布时间】:2014-09-02 01:50:06
【问题描述】:
Array ( [0] => stdClass Object ( [MIN(budgetmin)] => 2 [MAX(budgetmax)] => 25 [AVG(budgetmin+budgetmax)] => 30 [VALUE] => staff ) ) 

我也试试

foreach($array_values as $values) { 
    echo $values->MIN(budgetmin);
    echo $values->MAX(budgetmax);
    echo $values->VALUE;
}

我没有得到任何结果。

【问题讨论】:

    标签: php mysql object


    【解决方案1】:

    您可以通过以下方式获得它:

    echo $values->{'MIN(budgetmin)'};
    

    但我建议您将 SQL 选择查询重写为:

    SELECT MIN(budgetmin) AS new_column_name, ...
    FROM ...
    

    然后您可以使用替代列名称更轻松地访问数据:

    echo $values->new_column_name;
    

    【讨论】:

      【解决方案2】:

      不幸的是,你的类属性的命名不是很好。

      $values->MIN(budgetmin);
      

      这行代码试图用budgetmin 的参数调用MIN 的方法。这不是你想要的。

      $values->{"MIN(budgetmin)"}; 
      

      这可能对你有用。

      如果失败,您可以将对象的内容修改为不包含括号吗?

      【讨论】:

      • 今天有些巨魔似乎觉得很有趣……因为你的回答解决了 OP 的问题,所以我给你投票。
      • 时间分裂者可能会或可能不会在您之前几秒钟发布他的答案。
      • 感谢大卫·巴克兄弟的惊人帮助
      【解决方案3】:

      您的命名约定远非理想。考虑选择带有 MySQLs AS 关键字的字段。

      $foo = new stdClass();
      $foo->{'MIN(budgetMin)'} = 2;
      $foo->{'MAX(budgetMax)'} = 25;
      $foo->{'AVG(budgetmin+budgetmax)'} = 30;
      $foo->{'VALUE'} = 'staff';
      
      $fooArray = array($foo);
      
      foreach($fooArray as $fooElement) {
          echo('MIN(budgetMin): '. $fooElement->{'MIN(budgetMin)'} .'<br />');
          echo('MAX(budgetMax): '. $fooElement->{'MAX(budgetMax)'} .'<br />');
          echo('AVG(budgetmin+budgetmax): '. $fooElement->{'AVG(budgetmin+budgetmax)'} .'<br />');
          echo('VALUE: '. $fooElement->{'VALUE'} .'<br />');
      }
      

      输出:

      MIN(budgetMin): 2
      最大(预算最大):25
      AVG(最低预算+最高预算):30
      价值:员工

      【讨论】:

        【解决方案4】:
         Try this code: 
         Change your sql query SELECT MIN(budgetmin) as column_name1, MAX(budgetmax) as column_name2 , AVG(budgetmin+budgetmax) as column_name3, VALUE
         Then
         <?php
         foreach($array_values as $values) { 
            echo $values->column_name1;
            echo $values->column_name2;
            echo $values->column_name3;
            echo $values->VALUE;
        }
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-29
          • 1970-01-01
          • 2017-03-10
          • 1970-01-01
          • 1970-01-01
          • 2011-05-14
          相关资源
          最近更新 更多