我有一个可以有效替代 print 的函数,我想在不带括号的情况下调用它,就像调用 print 一样。
# Replace
print $foo, $bar, "\n";
# with
myprint $foo, $bar, "\n";
在 Perl 中,您可以使用参数模板创建子例程,如果您将子例程定义为
sub myprint(@) { ... }
PHP中有类似的东西吗?
print 不是变量函数
因为这是一种语言结构而不是函数,所以不能使用变量函数调用它
和 :
变量函数
PHP 支持变量函数的概念。这意味着如果一个变量名附加了括号,PHP 将寻找一个与该变量计算结果相同的名称的函数,并尝试执行它。除其他外,这可用于实现回调、函数表等。
只需编辑 PHP 代码库并添加新的语言结构即可。
-亚当
不,你不能在 PHP 中做到这一点。Print 实际上不是一个函数,它是一个“语言结构”。
不,PHP 不允许您这样做。
我正在寻找一种方法来编写 echoh 来执行以下操作:
echoh "hello";
并得到:
'hello<br>\n'.
我想一种解决方案可能是定义一个常量并使用它:
<?php
const PHP_BR_EOL = "<br>\n";
echo "Hello" . PHP_BR_EOL;
?>
现在我得到:
Hello<br>
我知道它需要更多的输入,但它更符合 PHP 手册中的示例,我使用 gvim 和 omnicomplete 来节省输入。此外,通过 PHP_BR_EOL 进行全局搜索/替换 PHP_EOL 也很容易。
那不能用 PHP 吃饭。您声明的函数必须用括号调用