首頁 >後端開發 >php教程 >一种逆天的PHP字符串构造方法.

一种逆天的PHP字符串构造方法.

WBOY
WBOY原創
2016-06-23 13:29:02798瀏覽

虽然PHP有

/**把一个匿名函数的注释转换为字符串     * @param function $closure 匿名函数     * @param array $replace 替换占位字符的内容,占位字符的格式正则表现为{[0-9]+},比如{0}、{1} 其中数值对应$replace的索引     * @return string 返回匿名函数内的注释内容     */    function string($closure,$replace=NULL){        $func = new ReflectionFunction($closure);        $start = $func->getStartLine() - 1;	$end =  $func->getEndLine() - 1;	$filename = $func->getFileName();	$code=implode("", array_slice(file($filename),$start, $end - $start + 1));        $reg="/\\/\\*([^\\0]+)\\*\\//";        $match=array();        preg_match($reg,$code,$match);        if(count($match)>0){            if(!$replace){                return preg_replace("/\\\\\\\/","\\",preg_replace("/\*(\\\\\/)/", "*/", trim($match[1])));            }            if(count($replace)  <p></p>  <p><br> </p> 用法:  <p></p>  <pre name="code" class="sycode">$sql=string(function(){/*            select * from table1 T1            left join table2 T2 on T2.id=T1.id            where T1.id={0} && T2.name='{1}'        */},array(101,"ioriliao"));

输出结果:

select * from table1 T1left join table2 T2 on T2.id=T1.idwhere T1.id=101 && T2.name='ioriliao'



版权声明:本文为博主原创文章,未经博主允许不得转载。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn