当然,PHP会对双引号字符串执行变量替换:
$test = 'something';
echo "This is a $test";
//Output: This is a something我正在寻找的是PHP的变量替换,但带有回调:
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是否以某种方式公开了用于双引号字符串的内部字符串解析器?
发布于 2015-11-24 15:46:26
如果我理解正确的话,您是想让some_cool_function将函数callback应用于字符串'This is a $test'。
通过使用变量引用回调函数可以达到此目的:
$cb = callback;
$test = 'something';
echo "This is a {$cb($test)}";https://stackoverflow.com/questions/32274154
复制相似问题