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

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

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了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好友复制网址打印

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

相关文章

  • php怎么使用setcookie()设置cookie永不过期
  • 浅析什么是装饰器?Vue中怎么使用装饰器?
  • Photoshop设计移动APP应用类型网站
  • 宝塔面板数据库占用磁盘过大怎么办?
  • thinkphp的钩子的两种配置和两种调用方法
  • 微信小程序中如何实现子向父传参(页面通信)
  • PHP怎么返回四位数不满补零
  • 聊聊ThinkPHP3.2.3从php5升级到php7艰辛之路
  • PHP怎么去掉字符串两边的指定字符
  • Thinkphp volist多重循环原样输出数组key值

文章分类

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

最近更新的内容

    • Thinkphp5.1 + layui时间范围设置方法
    • CDR制作电脑宣传海报教程
    • 分享个人推荐的Laravel或其它框架的编程规范
    • 怎么修改和重置WAMP的phpMyAdmin密码
    • Discuz!您当前的访问请求当中含有非法字符,已经被系统拒绝解决办法
    • CorelDraw制作可爱的彩色塑料字教程
    • Photoshop制作渐变色导航背景
    • WordPress使用OSS Upload后媒体库无法加载一直转圈解决方法
    • 一文搞定phpstorm+laravel+phpunit的配置
    • 详解使用php-imap查询操作邮件收件箱

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

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