首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP双引号字符串解析器

问PHP双引号字符串解析器
EN

Stack Overflow用户
提问于 2015-08-28 23:04:24
回答 1查看 474关注 0票数 0

当然,PHP会对双引号字符串执行变量替换:

代码语言:javascript
复制
$test = 'something';
echo "This is a $test";
//Output: This is a something

我正在寻找的是PHP的变量替换,但带有回调:

代码语言:javascript
复制
function callback($key, &$value) {
    $value=strtoupper($value);
}

$test = 'something';
echo some_cool_function('This is a $test', callback);

//Output: This is a SOMETHING

(当然,这是一个完全随意的例子-我并不想做一些简单的事情,比如将值转换为大写。)

因此,将为每个变量调用callback (或者可能使用所有变量组成的数组,如'$test' => 'something')。这样,我就可以直接操作和处理PHP执行的变量和替换值。

我知道类似的事情也可以通过正则表达式和回调之类的方法来完成。然而,在PHP如何处理像$test[0],复杂语法({ })等变量方面有额外的复杂性,这些变量可能会令人费解。

PHP是否以某种方式公开了用于双引号字符串的内部字符串解析器?

EN

回答 1

Stack Overflow用户

发布于 2015-11-24 15:46:26

如果我理解正确的话,您是想让some_cool_function将函数callback应用于字符串'This is a $test'。

通过使用变量引用回调函数可以达到此目的:

代码语言:javascript
复制
$cb = callback;
$test = 'something';
echo "This is a {$cb($test)}";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32274154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档