gpt4 book ai didi

php - 为什么这个 PHP 程序不起作用?

转载 作者:可可西里 更新时间:2023-11-01 13:37:25 25 4
gpt4 key购买 nike

我是 PHP 的新手,正在从 w3schools 学习 PHP 函数。它说“当函数名在变量中时,PHP 允许进行函数调用”

这个程序成功了

<?php
$v = "var_dump";
$v('foo');
?>

但是这个程序没有运行:

<?php
$v = "echo";
$v('foo');
?>

但是如果我执行 echo('foo'); 它会起作用。

我做错了什么?

最佳答案

PHP 的这个特性称为可变函数

这里的问题在于 echo,它不是真正的函数,而是一种语言结构,变量函数只能与函数一起使用。在您的第一个示例中,var_dump 是一个函数并且运行良好。

来自 PHP 文档 Variable functions :

Variable functions won't work with language constructs such as echo(), print(), unset(), isset(), empty(), include(), require() and the like. Utilize wrapper functions to make use of any of these constructs as variable functions.

您可以使用 printf函数代替 echo 为:

$e = "printf"; // printf is a function not a language construct.
$e('foo');

或者您可以为 echo 编写一个包装函数:

$e = "echo_wrapper";
$e('foo');

function echo_wrapper($input) { // wrapper function that uses echo.
echo $input;
}

关于php - 为什么这个 PHP 程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com