codeigniter中视图如何接受和处理数组(包括一维和多维)

标签: phpcodeigniter数组   时间:2017-07-27
本文章通过实例向大家介绍codeigniter框架视图如何接受和处理一维和多维数组,需要的朋友可以参考一下。

视图是用户用户能看到你的网站的所有。 他们使用一个统一的接口, 而且可以根据需要进行修改。 MVC 的好处之一是你分开了表示层和逻辑层, 一切都显得很干净。视图实际上是一组包含有你的内容的HTML结构。结构中有各种元素,如颜色,字体,文字布局等; 不过视图不关心这些,它要做的只是取来内容,显示出来。

 

1.codeigniter视图中接受和处理一维数组:

控制器中传递数据参数:

$data["notice"] =array('aaa','bbb');
$this->load->view('api/notice',$data);

 

视图中解析:

<?php
    if(count($notice)>0){
        foreach($notice as $key =>$value ){
?>
    <a href="#"><?php echo $value?></a>
<?php
    }
}
    ?>

 

2.codeigniter视图中接受和处理多维数组:

再说下二维数组的传递与遍历问题。下面的程序实现遍历某个目录下的文件。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Data extends CI_Controller {

	public function index()
	{
		$this->load->helper('url');
		
		$data['page_title'] = '码农教程';
		$data['pre_url'] = 'application/views/default/';
		
     	$this->load->view('default/header', $data);
      	$this->load->view('default/index', $data);
      	$this->load->view('default/footer');
		//$this->load->view('index');
	}
	
	public function gdnews()
	{
		$this->load->helper('url');
		$arr = array();
		
		function tree($directory) 
		{ 
			$mydir = dir($directory); 
			while($file = $mydir->read())
			{ 
				// 是目录的话
				if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) 
				{
					//echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; 
					//tree("$directory/$file"); 
				} 
				// 不是目录
				else 
				{
					$arr['name'][] = @iconv('GB2312','UTF-8',$file);
					$arr['time'][] = @iconv('GB2312','UTF-8',date('Y-m-d H:i:s', filemtime($file)));
				}
			}
			$mydir->close(); 
			return $arr;
		}

		$dir = "datas/gdnews/";

		$arr = tree($dir);
		$data['files'] = $arr;
		
		$data['page_title'] = '码农教程' ;
		$data['dir'] = $dir;
		
		$this->load->view('default/header', $data);
     	$this->load->view('default/data', $data);
      	$this->load->view('default/footer');
	}

}
?>

在视图中这么输出就可以:

<?php
    if(count($files)>0)
	{
        foreach($files['name'] as $key =>$value ){
?>
               		<p class="postmetadata">
						<span style="color:#333;"><?=$files['time'][$key]?></span> <?=$files['name'][$key]?>
						<span><a href="<?=base_url().$dir.$files['name'][$key]?>" target="_blank">查看</a> <a href="#">删除</a></span>
					</p>
<?php
		}
	}
?>

原文地址:http://www.manongjc.com/article/1861.html