• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 如何实现PHP中如果让字符串直接解析函数

如何实现PHP中如果让字符串直接解析函数

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP字符串直接解析函数等相关知识,希望对您有所帮助

PHP中如果让字符串直接解析函数?下面本篇文章给大家分享一下PHP 字符串中直接解析函数的写法,希望对大家有所帮助!


如何实现PHP中如果让字符串直接解析函数

PHP 字符串中直接解析函数的写法

如何实现PHP中如果让字符串直接解析函数


PHP 中的字符串理论上是不能够解析函数的,仅能够解析变量。最近发现一种特殊的写法,是可以让字符串直接解析函数的。


写法

// 单行${!${''} = 代码} // 多行${!${''} =    代码}

个人认为这种写法实际上还是通过解析变量实现的。= 左边是一个特殊名称的变量,= 右边只要符合赋值变量的代码块均可以在字符串中解析。


示例

以下代码仅供学习交流,实际工作中不建议用这种写法。

一、

$fruits = implode('、', ['apple', 'banana']);var_dump("fruits: $fruits."); // 正常写法解析变量// string(23) "fruits: apple、banana." var_dump("fruits: implode('、', ['apple', 'banana'])."); // 错误写法不能够解析函数// string(44) "fruits: implode('、', ['apple', 'banana'])." var_dump("fruits: ${!${''} = implode('、', ['apple', 'banana'])}."); // 特殊写法解析函数成功// string(23) "fruits: apple、banana." var_dump("fruits: ${!${''} = implode('、',    [        'apple',        'banana'    ])}."); // 多行书写依然解析函数成功// string(23) "fruits: apple、banana."


二、

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'    ];         return implode('、', $fruits);}) }.");// string(23) "fruits: apple、banana."


四、

class Fruit{    public function __toString()    {        return 'banana';    } }var_dump("fruits: ${!${''} = new Fruit() }.");// string(15) "fruits: banana."



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2022-04-29JavaScript 对象可以做到的几件事
  • 2022-04-29详解wordpress非根目录部署nginx关键配置
  • 2022-04-29实现从Redis中订阅消息转发到 WebSocket 客户端
  • 2022-04-29解决phpMyadmin给MySQL数据表创建触发器遇到的问题
  • 2022-04-29CDR绘制木纹质感APP图标
  • 2022-04-29去除dedecms织梦升级友情链接增加织梦链投放链接
  • 2022-04-29聊聊laravel怎么快速生成 Services?
  • 2022-04-29总结分享: 6 种JavaScript的打断点的方式(收藏学习)
  • 2022-04-29php怎么去除重复的值
  • 2022-04-29解决Laravel在composer install时出现timeout问题

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop绘制立体质感的网页开关按钮
    • Ripro主题解决修改网站标题小尾巴的办法
    • Photoshop快速制作绚丽的彩色透明心形
    • 百度编辑器上传word文件转为html
    • PhotoShop CS6制作梦幻高光流线花体艺术字效教程
    • DEDE建站内部SEO优化
    • WordPress主题纯代码实现禁止某些用户账号登录
    • 利用图层样式制作漂亮的彩色霓虹字
    • WordPress如何将发表的文章时间显示为XX天前
    • 浅析小程序中如何优雅地进行模块化处理?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有