質問: ``` input->post('product') != null){ $str='送信内容:'.$this->input->post('product').''; } else{ $str='メッセージをどうぞ'; } $data=array('msg'=>$str); $this->load->view('form_post',$data); } } ?> ``` ``` formsend =$msg;?> ``` =$msg;?>の部分を =$data;?>に変えると undefined variable:dataとエラーが出ます。 これは関数外の変数を呼んだからかなと思うのですが、 なぜ&msgではうまくいくのでしょうか。
回答: CodeIgniter が `$data` の中身をマッピングして View から参照可能にしているため `$data` そのものは未定義になっているのだと思います。一方の `$msg` は配列のキーとして存在するため定義されます。( CodeIgniter のソースコードは確認していません)