ホームページ  >  記事  >  バックエンド開発  >  謎の配列はどこから来たのでしょうか?

謎の配列はどこから来たのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:33:07734ブラウズ

まずそれについて話しましょう: これはテンプレートの出力ページの問題です。配列を使用して、テキストや画像などの大量の情報を出力します。
不可解なのは、必要な文が 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($w​​eb_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 を出力します



getWebList メソッドがどのように記述されているかがわかります

または $web_list を出力します

ただ知っています


これは $web_list です

/**
* レコードリストを読み込みます
*
* @param
* @return array 結果を配列形式で返します
*/
public function getWebList($condition = array('web_page' => 'index'),$page = ''){
$ result = $ this->table('web')->where($condition)->order('web_sort')->page($page)->select();
$result を返す
}

$web_list 配列を次の形式で出力しました:
Array ( [0] =>Array ( [web_id] =>1 [web_name] =>1F [style_name] =>red [web_page] =>index [update_time] => 1433752194 [web_sort] => 1 [web_show] => 1 [web_html] =>

$output['web_html']['index'] は配列の場合、それは 2 次元の配列である必要があり、2 次元のキーと値の関係を出力できます
しかし、これは実際には不可能です。これは非常に奇妙です

$web_list には次のような項目があります。 [web_page] => インデックス
コード内

foreach($web_list as $k => $v){

$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'] には値が代入されませんか?


*******************

これは機能していますか? 、テンプレートタグか何かに似ています。テンプレート システムでこのタグに特別な処理が行われているかどうかを確認してください。 。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。