<?php
$a = 'ec';
$b = 'ho';
$c = $a.$b;
echo('Huh?');
$c('Hello, PHP!');
?>
产量
Huh?
Fatal error: Call to undefined function echo() in <...>/php.php on line 11
为什么?
echo
从技术上讲,它不是 PHP 中的函数。它是一种“语言结构”。
echo('Huh?')
是另一种语法echo 'Huh?'
你可以这样做:
function my_echo($s) {
echo $s;
}
$a = "my_echo";
$a("Huh?");
echo 是一种语言结构,而不是函数。您尝试执行的操作将适用于实际功能。像这样的东西会起作用。
<?php
function myecho($src) { echo $src; }
$a = 'myec';
$b = 'ho';
$c = $a.$b;
$c('This is a test');
?>
echo
, print
, die
, require
, require_once
,include
和include_once
其他(我确定我错过了一些)不是函数而是语言结构。使用带括号的sayecho()
是语法糖。
如果你想像上面那样使用它们,你需要将它们包装到一个函数中:
<?php
function echoMyEcho($str){
echo $str;
}
$c = "echoMyEcho";
$c("Let go of my eggo");