神秘的數組是如何來的
來源:互聯網
上載者:User
神秘的數組是怎麼來的
先說說大概:這是一個模板中輸出頁面的問題。它是用一個數組就輸出了一大坨的資訊,裡面有文字也有圖片。
讓人不解的是,它只用了一個句子就辦了。
為了便於大家分析,我先列表在模板中的句子
這一句話就輸出了N許多文字加圖片展示在首頁。然後我又找到了調用方法句子的方法
是下面這一大坨(當然限於篇幅我不可能全寫出來,因為太長,只是把這關鍵的展示出來,相信高手一看就明白)
//板塊資訊
$model_web_config = Model('web_config');
$web_html = $model_web_config->getWebHtml('index');
Tpl::output('web_html',$web_html);
關於getWebHtml這個方法如下:
/**
* 模組html資訊
*
*/
public function getWebHtml($web_page = 'index',$update_all = 0){
$web_array = array();
$web_list = $this->getWebList(array('web_show'=>1,'web_page'=> array('like',$web_page.'%')));
if(!empty($web_list) && is_array($web_list)) {
foreach($web_list as $k => $v){
$key = $v['web_page'];
if ($update_all == 1 || empty($v['web_html'])) {//強制更新或內容為空白時查詢資料庫
$web_array[$key] .= $this->updateWebHtml($v['web_id'],$v['style_name']);
} else {
$web_array[$key] .= $v['web_html'];
}
}
}
return $web_array;
}
好了,我的問題來了,
$output['web_html']['index'];是怎麼來的,怎麼['web_html']和['index']就能搞成數組呢,道理何在?
------解決思路----------------------
你的 $web_list 有這樣一項 [web_page] => index
在你的代碼
foreach($web_list as $k => $v){
$key = $v['web_page']; //此時的 $key 的值不就是 index 了嗎?
if ($update_all == 1
------解決思路----------------------
empty($v['web_html'])) {//強制更新或內容為空白時查詢資料庫
$web_array[$key] .= $this->updateWebHtml($v['web_id'],$v['style_name']);
} else {
$web_array[$key] .= $v['web_html'];
}
}
那麼對 $web_array[$key] 賦值,不就是對 $web_array['index'] 賦值嗎?