>  기사  >  백엔드 개발  >  一种逆天的PHP字符串构造方法

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

WBOY
WBOY원래의
2016-06-13 12:23:40883검색

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

虽然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><br></p>用法:<p></p><pre name="code" class="php">$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으로 문의하세요.