2

簡単な質問があります。説明させてください
これを使用して、コントローラーからビューにデータを渡します

function index(){

    $data['title'] = 'This is title';
    $data['message'] = 'This is message';
    $this->load->view('test',$data);
}

ここでは、連想配列を使用してデータを渡します
。そして、この関数を再度使用して、連想配列の代わりにインデックス付き配列を使用します。

function index(){

    $data[] = 'This is title';
    $data[] = 'This is message';
    $this->load->view('test',$data);
}   

そして今、ビューではこれは機能しません。

echo $data[0];
echo '<br>';
echo $data[1];

なぜこれが機能しないのか知りたいだけです。そして、ユーザーガイドでは、連想配列が必要であることを決して読んでいません。

4

1 に答える 1

1

ビュー データは、解析時に変数に変換されます。extract()PHPの機能と同様の結果が得られます。例えば:

$data['title'] = 'This is the title';

$title not として直接アクセスできます$data['title']。実際、ソースを見ると、それが使用されておりextract()、同様の変換がケースで発生することがわかりますが、変数$0$1が無効であるため、それらは使用できません。

文字列のインデックス付けに固執します。それができない場合は、テキストの前に次のようなプレフィックスを付けることができます。

$data['d0'] = 'This is the title';

ここで引用されているマニュアルを読んでください。ただし、文字列の代わりに配列を渡して、必要な正確な結果を得ることができます。

$data['data'] = array('This is the title', 'This is the description');

$data[0]これで、 と を使用してアクセスできます$data[1]

于 2012-11-01T06:15:56.557 に答える