Php 如何获取此对象中的值?
我也尝试Php 如何获取此对象中的值?,php,mysql,object,Php,Mysql,Object,我也尝试 Array ( [0] => stdClass Object ( [MIN(budgetmin)] => 2 [MAX(budgetmax)] => 25 [AVG(budgetmin+budgetmax)] => 30 [VALUE] => staff ) ) 我没有得到任何结果。不幸的是,类属性的命名不是很好 foreach($array_values as $values) { echo $values->MIN(budgetmi
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;
}
此行试图调用参数为budgetmin
的MIN
方法。这不是你想要的
$values->MIN(budgetmin);
这可能对你有用
如果失败,您是否可以修改对象的内容,使其不包含括号?您可以使用以下方法获得它:
$values->{"MIN(budgetmin)"};
但我建议您将SQL select查询重写为以下内容:
echo $values->{'MIN(budgetmin)'};
然后,您可以使用替代列名更轻松地访问数据:
SELECT MIN(budgetmin) AS new_column_name, ...
FROM ...
您的命名约定远非理想。考虑选择MySQLs
作为关键字的字段
echo $values->new_column_name;
$foo=newstdclass();
$foo->{'MIN(budgetMin)}=2;
$foo->{'MAX(budgetMax)}=25;
$foo->{'AVG(budgetmin+budgetmax)}=30;
$foo->{'VALUE'}='staff';
$fooArray=数组($foo);
foreach($fooArray作为$fooElement){
echo('MIN(budgetMin):'.$fooElement->{'MIN(budgetMin)}.
';
echo('MAX(budgetMax):'.$fooElement->{'MAX(budgetMax)}.
);
echo('AVG(budgetmin+budgetmax):'.$fooElement->{'AVG(budgetmin+budgetmax)}.
);
echo('VALUE:'.$fooElement->{'VALUE'}.
');
}
输出:
最小值(预算分钟):2
最大值(预算最大值):25
平均值(预算最小值+预算最大值):30
值:staff尝试以下代码:
$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 />');
}
更改sql查询选择最小值(budgetmin)作为列名称1,选择最大值(budgetmax)作为列名称2,选择平均值(budgetmin+budgetmax)作为列名称3,值
然后
一些巨魔今天似乎觉得很有趣。。。既然你的答案解决了OP的问题,我给你投票。可能是timesplinter在你之前几秒钟公布了他的答案,也可能没有。谢谢你的帮助,大卫·巴克兄弟
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;
}
?>