4
<?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

为什么?

4

3 回答 3

17

echo从技术上讲,它不是 PHP 中的函数。它是一种“语言结构”。

echo('Huh?')是另一种语法echo 'Huh?'

你可以这样做:

function my_echo($s) {
    echo $s;
}

$a = "my_echo";
$a("Huh?");
于 2009-09-23T04:05:15.563 回答
3

echo 是一种语言结构,而不是函数。您尝试执行的操作将适用于实际功能。像这样的东西会起作用。

<?php
function myecho($src) { echo $src; }
$a = 'myec';
$b = 'ho';
$c = $a.$b;
$c('This is a test');
?>
于 2009-09-23T04:15:19.530 回答
1

echo, print, die, require, require_once,includeinclude_once其他(我确定我错过了一些)不是函数而是语言结构。使用带括号的sayecho()是语法糖。

如果你想像上面那样使用它们,你需要将它们包装到一个函数中:

<?php
function echoMyEcho($str){
    echo $str;
}

$c = "echoMyEcho";
$c("Let go of my eggo");
于 2009-09-23T04:19:43.280 回答