我正在學習PHP和代碼點火器,並且對於現代編程一般都很陌生,所以請客氣一點!使用StdClass對象製作多維數組的foreach循環麻煩
我寫了一個函數,可以從mysql表中生成每週騎自行車總里程數。我的功能是用Std Class對象生成一個多維數組。當我嘗試在我的視圖文件中回顯結果時,出現錯誤:錯誤:消息:類stdClass的對象無法轉換爲字符串。
我已經試過如何在約10個線程中對多維數組進行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)具有信息I w螞蟻(數字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" } } }
我的主要問題是我如何修復我的視圖文件代碼,以正確輸出數組中的數字。但是,如果我可以用不同的方式編寫我的函數來生成常規關聯數組,我也很想知道這一點!
任何幫助將不勝感激!
真棒,格里斯。謝謝!這現在完美。我曾嘗試過一些沿着$ object->屬性的行,但我不知道指定零的關鍵字。我的桌子現在正在完美顯示,所以現在,進入下一步,將其製作成條形圖!並且還要感謝您提供更簡潔的代碼。我會玩這個,看看它是如何工作的;看起來是另一種使用$ object-> property來幫助學習的好方法。我們這些正在學習的人真的很喜歡像你這樣的深思熟慮的答案! – Cyclist
備用代碼最初生成一條錯誤消息「嘗試獲取非對象的屬性」。然後我添加了零的關鍵,它工作得很好!因此,控制器代碼的最後一行變爲:$ bikedata ['sums_for_table'] [$ weeknumber] = $ weekResult [0] - > distance; – Cyclist