后端开发|php教程
PHP,字符串
后端开发-php教程
PHP中如果让字符串直接解析函数?下面本篇文章给大家分享一下PHP 字符串中直接解析函数的写法,希望对大家有所帮助!
简单校园新闻发布系统源码,ubuntu怎么访问优盘,tomcat部署微信小程序,杭电智慧爬虫,php if语句后面要空格吗,轮播图seolzw
网络办公系统源码,vscode 运行快捷键,ubuntu用户锁定,帆软部署tomcat,重庆爬虫管,oracle 和php,潜江便宜的seo推广公司,评测网站 源码,苹果layui自适应模板lzw
PHP 字符串中直接解析函数的写法
微信支付接口开发源码,vscode自动打字,ubuntu集成了lamp吗,tomcat关闭netty,sqlite怎么添加列,jq滚动条美化插件,前端框架怎么登陆,成都python爬虫练习,php 开发 视频,seo抓取规则,心里咨询网站源码,网页取色器 在线,中文水果商城模板,wordpress怎么做子页面,管理系统格式布局源码下载,织梦个人单页模板小程序下载lzw
PHP 中的字符串理论上是不能够解析函数的,仅能够解析变量。最近发现一种特殊的写法,是可以让字符串直接解析函数的。
写法
// 单行${!${\} = 代码}// 多行${!${\} = 代码}
个人认为这种写法实际上还是通过解析变量实现的。=
左边是一个特殊名称的变量,=
右边只要符合赋值变量的代码块均可以在字符串中解析。
示例
以下代码仅供学习交流,实际工作中不建议用这种写法。
A、
$fruits = implode(、, [apple, anana]);var_dump("fruits: $fruits."); // 正常写法解析变量// string(23) "fruits: apple、banana."var_dump("fruits: implode(、, [apple, anana])."); // 错误写法不能够解析函数// string(44) "fruits: implode(、, [apple, anana])."var_dump("fruits: ${!${\} = implode(、, [apple, anana])}."); // 特殊写法解析函数成功// string(23) "fruits: apple、banana."var_dump("fruits: ${!${\} = implode(、, [ apple, anana ])}."); // 多行书写依然解析函数成功// string(23) "fruits: apple、banana."
B、
var_dump("fruits: ${!${\} = $fruit ?? apple}.");// string(14) "fruits: apple."var_dump("fruits: ${!${\} = isset($fruit) ? $fruit : apple}.");// string(14) "fruits: apple."
C、
$fruit = function (){ return anana;};var_dump("fruits: ${!${\} = $fruit() }.");// string(15) "fruits: banana."var_dump("fruits: ${!${\} = call_user_func(function (){ $fruits = [ apple, anana ]; return implode(、, $fruits);}) }.");// string(23) "fruits: apple、banana."
D、
class Fruit{ public function __toString() { return anana; }}var_dump("fruits: ${!${\} = new Fruit() }.");// string(15) "fruits: banana."
《PHP视频教学》