Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 1.4 KB

9.条件判断.md

File metadata and controls

66 lines (50 loc) · 1.4 KB

条件判断

  • 只是简单的标签替换
  • if else

编译方法

$tags_condition=array(
	"{if([:any])}"				=>"<?php if($1){ ?>",
	"{/if}"						=>"<?php } ?>",
	"{else/?}" 					=>"<?php }else{ ?>",
	"{elseif([:any])/?}"		=>"<?php }elseif($1){ ?>",
	"{else[:blank]if([:any])/?}" =>"<?php }elseif($1){ ?>",
	//"{switch([:any])}"   		=>"<?php switch($1){ \?\>",  				    //switch和case间很容易就产生空格
	"{switch([:any])}[:blank]{case[:any]:}" =>"<?php switch($1){ case $2: ?>",  //为了避免switch和case间产生空格
	"{/switch}"   				=>"<?php } ?>",
	"{case[:any]:}"   			=>"<?php case $1: ?>",
	"{break;}"   				=>"<?php break; ?>",
	"{default:}"   				=>"<?php default: ?>",
);

案例

if标签

{if($var)}
  111
{elseif(54>8967)/}
  222
{else if($v2)/}
  2.5
{else/}
  333
{/if}

switch标签

{switch($num)}
 {case 1:} 111 <br/> {break;}
 {case 2:} 222 <br/> {break;}
 {default:} ddd <br/> {break;}
{/switch}

{switch($str)}
 {case '1':} 111 <br/> {break;}
 {case '2':} 222 <br/> {break;}
 {default:} ddd <br/> {break;}
{/switch}

可能发生的错误

switch和case输出空格问题

解决:<?php switch(4){?>【这里不能有输出,空格也不行】 <?php case 1: ?>】 Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT switch和case之间是不能有任何输出的 PS:一个空格也不行。。