The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 数组对象多维支持 ]


为了下面述说方便,我们定义一个二维数组:

  1. $arrValue = array(        
  2.     'name'=>'DoYouHaoBaby Company',       
  3.     'description'=>'It is not a dream!',   
  4.      'sub'=>array(   
  5.           'name'=>'DoYouHaoBaby说: 我是二维数组的元素$arrValue[\'sub\'][\'name\']的值',   
  6.     ),   
  7. );   


如果是多维数组或者多层对象属性的输出,可以使用下面的定义方式:
使用点语法输出

  1. {$arrValue.sub.name}   

编译后的代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:40:34  */ ?>   
  2. <?php echo( is_array($arrValue) ? $arrValue['sub']['name'] : $arrValue->sub->name ); ?>  


输出结果:

  1. DoYouHaoBaby说: 我是二维数组的元素$arrValue['sub']['name']的值  


或者使用
输出三维数组的值

  1. {$arrValue['sub']['name']}  
  
输出对象的多级属性
  1. {$arrValue:sub:name}  

编码编译后分别为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:40:34  */ ?>   
  2. <?php echo( $arrValue['sub']['name'] ); ?>   
  3.   
  4. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 13:40:34  */ ?>   
  5. <?php echo( $arrValue->sub->name ); ?>  


输出结果为:
  1. DoYouHaoBaby说: 我是二维数组的元素$arrValue['sub']['name']的值   
  2. 空  

模板中使用无限属性和数组:

  1. {$arrValue.sub.name.name2.name3.name4}   
  2. {$arrValue['sub']['name']['name2']['name3']['name4']}      
  3. {$arrValue:sub:name:name2:name3:name4}  


编译后的代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-09 14:12:39  */ ?>   
  2. <?php echo( is_array($arrValue) ? $arrValue['sub']['name']['name2']['name3']['name4'] : $arrValue->sub->name->name2->name3->name4 ); ?>   
  3. <?php echo( $arrValue['sub']['name']['name2']['name3']['name4'] ); ?>      
  4. <?php echo( $arrValue->sub->name->name2->name3->name4 ); ?>