ホームページ >バックエンド開発 >PHPチュートリアル >謎の配列はどこから来たのでしょうか?
まずそれについて話しましょう: これはテンプレートの出力ページの問題です。配列を使用して、テキストや画像などの大量の情報を出力します。
不可解なのは、必要な文が 1 文だけだということです。
皆さんの分析を容易にするために、まずテンプレート内の文をリストします
この文 は、ホームページに表示する大量のテキストと画像を出力します。そして、メソッド文を呼び出す方法を見つけました
それは次のような大きなことです (もちろん、スペースの制限により、長すぎてすべてを書くことはできません。重要なものだけを示します。専門家は次の時点で理解できると思います)一目)
セクション情報
$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'])
}; {
$web_array[$key] .= $v['web_html'];
}
}
}
return $web_array; }
さて、ここで質問です
$output['web_html'][ 'index']; から来ています はい、['web_html'] と ['index'] を配列にするにはどうすればよいでしょうか?
ディスカッション (解決策) に返信
getWebList メソッドがどのように記述されているかがわかります
ただ知っています
これは $web_list です
$output['web_html']['index'] は配列の場合、それは 2 次元の配列である必要があり、2 次元のキーと値の関係を出力できます
しかし、これは実際には不可能です。これは非常に奇妙です
$web_list には次のような項目があります。 [web_page] => インデックス
コード内
$key = $v['web_page']; // この時点の $key の値はインデックスですか?
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']
}
}
for $ web_array[$key] に値を代入しても、$web_array['index'] には値が代入されませんか?
*******************
これは機能していますか? 、テンプレートタグか何かに似ています。テンプレート システムでこのタグに特別な処理が行われているかどうかを確認してください。 。