PHP字符串直接解析函数怎么写理论上PHP中的字符串不能解析函数,只能解析变量。最近发现了一种特殊的写法,可以让字符串直接被函数解析。写法//单行${!${''}=code}//多行${!${''}=code}个人认为这种写法其实是通过解析变量来实现的。=的左边是一个有特殊名字的变量,=右边的代码块只要匹配赋值的变量就可以解析成字符串。例子以下代码仅供学习交流,实际工作中不推荐使用这种写法。1.$fruits=implode(',',['苹果','香蕉']);var_dump("水果:$fruits");//用正常的写法解析变量//string(23)"fruits:apple,banana."var_dump("fruits:implode(',',['apple','banana']).");//写错无法解析函数//string(44)"fruits:implode(',',['apple','banana'])."var_dump("fruits:${!${''}=内爆(',',['苹果','香蕉'])}。”);//特殊写解析函数成功//string(23)"fruits:apple,banana."var_dump("fruits:${!${''}=implode(',',['apple','banana'])}.");//多行写依然解析函数成功//string(23)"fruits:apple,banana."2.var_dump("fruits:${!${''}=$fruit??'apple'}.");//string(14)"fruits:apple."var_dump("fruits:${!${''}=isset($fruit)?$fruit:'apple'}.");//string(14)"fruits:apple."三、$fruit=function(){return'banana';};var_dump("fruits:${!${''}=$fruit()}.");//string(15)"fruits:banana.“var_dump("fruits:${!${''}=call_user_func(function(){$fruits=['apple','banana'];returnimplode(',',$fruits);})}.");//string(23)"fruits:apple、banana."四、classFruit{publicfunction__toString(){return'banana';}}var_dump("fruits:${!${''}=newFruit()}.");//string(15)"fruits:banana."原文链接https://www.guanguans.cn
