我需要使用用户定义的关键词。也就是说,我想使用echo
而不是dislayInfo
。
是否可以重新定义现有关键字?
答案 0 :(得分:3)
我不这么认为,但你总是可以使用一个函数:
function displayInfo($info) {
echo $info;
}
然后致电
displayInfo("foo");
而不是
echo "foo";
答案 1 :(得分:1)
PHP不支持函数重载,也不可能取消定义或重新定义以前声明的函数。 这来自PHP手册:http://www.php.net/manual/en/functions.user-defined.php
答案 2 :(得分:0)
有一个解决方法,但它有点棘手。您可以使用ob_start()
将所有output
保留在output buffer
中。现在,在脚本结束之前,在变量和该变量中刷新输出缓冲区,将output关键字替换为标准关键字。具体来说,代码可能是这样的:
<?php
ob_start();//post this, everything that you will ECHO will go to buffer and NOT to output
displayInfo "My new string";
displayInfo "My multiline display
seems to work fine!";
$temp = $ob_get_contents();
ob_end_clean();
$temp = str_replace("displayInfo","echo",$temp);
echo $temp;
?>
我没有测试它,但我认为逻辑是正确的。