【发布时间】:2016-11-07 09:39:05
【问题描述】:
我正在学习 PHP 和 code igniter,一般来说是现代编程的新手,所以请善待!
我编写了一个函数来从 mysql 表中生成每周骑自行车的总公里数。我的函数是用标准类对象生成一个多维数组。当我尝试在视图文件中回显结果时,出现错误:错误:消息:stdClass 类的对象无法转换为字符串。
我已经尝试了有关如何在大约十个线程中为多维数组创建 foreach 循环的说明,包括this one。看来我需要一个嵌套的 foreach 结构,但是,我不明白如何将这些示例应用到我的代码中。
//在我的控制器索引函数中
$weeknumber = array(0, 1, 2, 3, 4, 5, 6, 7);
$bikedata['sums_for_table'] = array_map(array($this->bike_model,
'get_weekly_sum'), $weeknumber);
//在我的模型中
public function get_weekly_sum($when)
{
$this->db->select_sum('distance');
$this->db->where("WEEK (date) = WEEK( current_date ) - $when AND YEAR( date) = YEAR( current_date)");
$query = $this->db->get('bike_stats');
return $query->result();
//在我看来(为简单起见进行了修剪。它实际上是一张桌子。)
foreach ($sums_for_table as $sum_array):
foreach ($sum_array as $key => $object):
echo $object;
endforeach;
endforeach;
函数正常工作,因为函数返回的数组(下面,来自 var_dump)包含我想要的信息(数字 63.2 等),但我无法理解如何使用其中的信息表格。
array(8) {
[0]=> array(1) { [0]=> object(stdClass)#23 (1) { ["distance"]=> string(4) "63.2" } }
[1]=> array(1) { [0]=> object(stdClass)#24 (1) { ["distance"]=> string(5) "111.9" } }
[2]=> array(1) { [0]=> object(stdClass)#25 (1) { ["distance"]=> string(4) "48.2" } }
[3]=> array(1) { [0]=> object(stdClass)#26 (1) { ["distance"]=> NULL } }
[4]=> array(1) { [0]=> object(stdClass)#27 (1) { ["distance"]=> string(4) "26.7" } }
[5]=> array(1) { [0]=> object(stdClass)#28 (1) { ["distance"]=> string(4) "42.2" } }
[6]=> array(1) { [0]=> object(stdClass)#29 (1) { ["distance"]=> string(4) "32.3" } }
[7]=> array(1) { [0]=> object(stdClass)#30 (1) { ["distance"]=> string(4) "10.9" } } }
我的主要问题是如何修复我的视图文件代码以正确输出此数组中的数字。但是,如果我可以用不同的方式编写函数来生成常规关联数组,我也很想知道!
任何帮助将不胜感激!
【问题讨论】:
标签: php mysql arrays codeigniter multidimensional-array