相关疑难解决方法(0)

JSON密钥名称中哪些字符有效/无效?

对于JavaScript对象或JSON字符串,键名中是否有任何禁用字符?还是需要转义的字符?

更具体地说,我想在键名中使用"$"," - "和空格.

javascript json key object

132
推荐指数
4
解决办法
16万
查看次数

在HEREDOC字符串中调用PHP函数

在PHP中,HEREDOC字符串声明对于输出html块非常有用.你可以通过在$前面加上变量来解析变量,但是对于更复杂的语法(比如$ var [2] [3]),你必须把你的表达式放在{}括号中.

在PHP 5中,这可能实际上使函数调用中的{}一HEREDOC字符串中括号,但你必须要经过一些工作.函数名称本身必须存储在变量中,您必须将其称为动态命名函数.例如:

$fn = 'testfunction';
function testfunction() { return 'ok'; }
$string = <<< heredoc
plain text and now a function: {$fn()}
heredoc;
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这比仅仅更麻烦:

$string = <<< heredoc
plain text and now a function: {testfunction()}
heredoc;
Run Code Online (Sandbox Code Playgroud)

除了第一个代码示例之外还有其他方法,例如突破HEREDOC来调用函数,或者反转问题并执行以下操作:

?>
<!-- directly output html and only breaking into php for the function -->
plain text and now a function: <?PHP print testfunction(); ?>
Run Code Online (Sandbox Code Playgroud)

后者的缺点是输出直接放入输出流(除非我使用输出缓冲),这可能不是我想要的.

所以,我的问题的实质是:有更优雅的方法来解决这个问题吗?

根据回复进行编辑:看起来某种模板引擎看起来确实会让我的生活变得更轻松,但这需要我基本上颠倒我常用的PHP风格.这不是一件坏事,但它解释了我的惯性......我想找出让生活变得更轻松的方法,所以我现在正在研究模板.

php string heredoc

88
推荐指数
10
解决办法
7万
查看次数

标签 统计

heredoc ×1

javascript ×1

json ×1

key ×1

object ×1

php ×1

string ×1