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;
}
我没有得到任何结果。
答案 0 :(得分:4)
您可以使用以下方式获取它:
echo $values->{'MIN(budgetmin)'};
但我觉得你将SQL select-query重写为:
SELECT MIN(budgetmin) AS new_column_name, ...
FROM ...
然后,您可以使用备用列名称更轻松地访问数据:
echo $values->new_column_name;
答案 1 :(得分:3)
遗憾的是,您的类属性的命名不是很好。
$values->MIN(budgetmin);
此行正在尝试使用MIN
参数调用budgetmin
的方法。这不是你想要的。
$values->{"MIN(budgetmin)"};
这可能适合你。
如果失败,您可以修改对象的内容以不包含括号吗?
答案 2 :(得分:1)
您的命名惯例远非理想。考虑选择带有MySQL 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
MAX(budgetMax):25
AVG(budgetmin + budgetmax):30
价值:员工
答案 3 :(得分:1)
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;
}
?>